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

Dea*_*ean 21 go mongodb bson mgo

在MongoDB中执行类似db.mycollection.find()返回集合中所有文档的操作.

使用包labix.org/v2/mgo在GoLang工作时我做了例如:

query := db.C("client").Find();
Run Code Online (Sandbox Code Playgroud)

它抱怨它需要以界面的形式输入.我需要做的就是检索所有文档并迭代它们并显示每个文档.我该如何达到这个效果?我见过的所有例子似乎都有过滤器.

Dea*_*ean 42

找到了解决方案:

    var results []client

    err := db.C("client").Find(nil).All(&results)
    if err != nil {
        // TODO: Do something about the error
    } else {
        fmt.Println("Results All: ", results) 
    }
Run Code Online (Sandbox Code Playgroud)

  • 从数据库中获取nil是"恐慌"的一个弱理由 (15认同)
  • 但是会让上面代码的用户真正阅读它并决定如何处理`nil`.从有人来到这里并复制/粘贴代码极有可能的角度来看,这是让他们至少考虑它的好方法.... (4认同)
  • 你可以使用`db.c("client").查找(bson.M {}).所有(&result)` (2认同)