mgo collection.Find(nil)。所有(&用户)都无法正常工作

时间:2016-10-10 21:03:26

标签: mongodb go mgo

我有下一个问题.. 我无法从我的mongo数据库中获取所有记录(在docker containsner中运行),这是我非常简单的代码:

type User struct {
    Email string `json:"email" bson:"email"`
    Pass  string `json:"pass" bson:"pass"`
}

session := dbConnect()
collection := session.DB("my_db").C("users")
var users []User
err := collection.Find(nil).All(&users)
if err != nil {
    log.Fatal("Mongo collection find fail: ", err)
}
fmt.Println("Results >> ", err)

事情是“错误”返回<nil>。奇怪的是,在数据库上插入文档实际上是有效的。谢谢!

1 个答案:

答案 0 :(得分:1)

您的代码没有问题,但最后一行fmt.Println("Results >> ", err)不应该是fmt.Println("Results >> ", users)

您还可以使用界面

检查集合是否为空并且字段是否正确
session := dbConnect()
    collection := session.DB("my_db").C("users")
    var v []interface{}
    err := collection.Find(nil).All(&v)
    if err != nil {
        log.Fatal("Mongo collection find fail: ", err)
    }
    fmt.Println("Results >> ", v)