mgo collection.Find(nil).All(&users) 不工作

mgo collection.Find(nil).All(&users) not working

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

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)

事情是"err"returns<nil>。奇怪的是,在数据库中插入文档确实有效。谢谢!

你的代码没有问题,但是最后一行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)