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

标签 mongodb go mgo

我有下一个问题.. 我无法从我的 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”返回<nil> .奇怪的是,在数据库中插入文档确实有效。谢谢!

最佳答案

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

还可以通过接口(interface)检查集合是否为空以及字段是否正确

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)

关于mongodb - mgo collection.Find(nil).All(&users) 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39966718/

相关文章:

sql - 如何避免使用 for next 方法获取行数

javascript - 为什么使用 MongoDB 的 $push 将新对象添加到数组时添加了带有 ObjectID 的 _id?

mongodb - 从 $lookup 中获取数组中元素的过滤计数以及整个文档

go - golang中不同类型的 slice

go - bufio.NewReader 总是创建一个新行 :/

mongodb - 使用 golang bson 从 mongo 获取整个元素的问题,而不是只返回子元素

mongodb - 如何使用 mgo 从 golang 中的 mongodb 集合中选择所有记录

mongodb - 在 n 天后删除 MongoDB 文档

java - MongoDB/Morphia 中的引用

javascript - Express 中的动态路由, "Cannot read property ' concat' of undefined”错误