英文:
Golang Mgo - How to view result?
问题
看起来我能够成功连接到我的Mongo数据库。我能够看到我的集合中有30条记录。但是我该如何查看这些记录呢?
package main
import (
"fmt"
"net/http"
"github.com/gorilla/mux"
"gopkg.in/mgo.v2"
"gopkg.in/mgo.v2/bson"
)
type User struct {
id bson.ObjectId `json:"-" bson:"_id"`
firstName string `json:"first_name"`
lastName string `json:"last_name"`
email string `json:"email"`
regId string `json:"registration_id"`
regKey string `json:"registration_key"`
password string `json:"password"`
}
func main() {
session, err := mgo.Dial("XXX.XXX.XXX.XXX")
if err != nil {
panic(err)
}
defer session.Close()
session.SetMode(mgo.Monotonic, true)
//res := []User{}
c := session.DB("cd").C("auth_user")
res := []User{}
fmt.Println(c.Find(bson.M{}).All(&res))
fmt.Println(len(res))
fmt.Println(res)
fmt.Println(res[0])
fmt.Println(res[0].email)
}
以上代码的输出为:
<nil>
30
[{ } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { }]
英文:
It looks like I'm able to successfully connect to my Mongo Database. I'm able to view that there are 30 records in my collection. How do I actually view the records though?
enter code here
package main
import (
"fmt"
"net/http"
"github.com/gorilla/mux"
"gopkg.in/mgo.v2"
"gopkg.in/mgo.v2/bson"
)
type User struct {
id bson.ObjectId `json:"-" bson:"_id"`
firstName string `json:"first_name"`
lastName string `json:"last_name"`
email string `json:"email"`
regId string `json:"registration_id"`
regKey string `json:"registration_key"`
password string `json:"password`
}
func main() {
session, err := mgo.Dial("XXX.XXX.XXX.XXX")
if err != nil {
panic(err)
}
defer session.Close()
session.SetMode(mgo.Monotonic, true)
//res := []User{}
c := session.DB("cd").C("auth_user")
res := []User{}
fmt.Println(c.Find(bson.M{}).All(&res))
fmt.Println(len(res))
fmt.Println(res)
fmt.Println(res[0])
fmt.Println(res[0].email)
}
The output of the above is:
<nil>
30
[{ } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { }]
答案1
得分: 6
你需要导出字段名。
type User struct {
ID bson.ObjectId `json:"-" bson:"_id"`
FirstName string `json:"first_name"`
LastName string `json:"last_name"`
Email string `json:"email"`
RegId string `json:"registration_id"`
RegKey string `json:"registration_key"`
Password string `json:"password"`
}
BSON编解码器会忽略未导出的字段。
英文:
You need to export the field names.
type User struct {
ID bson.ObjectId `json:"-" bson:"_id"`
FirstName string `json:"first_name"`
LastName string `json:"last_name"`
Email string `json:"email"`
RegId string `json:"registration_id"`
RegKey string `json:"registration_key"`
Password string `json:"password`
}
The BSON codec ignores unexported fields.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论