Golang Mgo - 如何查看结果?

时间:2016-10-27 21:28:18

标签: mongodb go mgo

看起来我能够成功连接到我的Mongo数据库。我能够查看我的收藏中有30条记录。我如何实际查看记录?

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)
}

以上的输出是: 三十 [{} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} {} { } {} {} {} {} {}]

1 个答案:

答案 0 :(得分:6)

您需要export字段名称。

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编解码器忽略未导出的字段。