2019-02-25 23:21
浏览 832

使用mongo go driver查找集合中的所有文档

I checked out the answer here but this uses the old and unmaintained mgo. How can I find all documents in a collection using the mongo-go-driver?

I tried passing a nil filter, but this does not return any documents and instead returns nil. I also checked the documentation but did not see any mention of returning all documents. Here is what I've tried with aforementioned result.

client, err := mongo.Connect(context.TODO(), "mongodb://localhost:27017")
coll := client.Database("test").Collection("albums")
if err != nil { fmt.Println(err) }
// we can assume we're connected...right?
fmt.Println("connected to mongodb")

var results []*Album
findOptions := options.Find()
cursor, err := coll.Find(context.TODO(), nil, findOptions)
if err != nil {
   fmt.Println(err) // prints 'document is nil'

Also, I'm about confused about why I need to specify findOptions when I've called the Find() function on the collection (or do I not need to specify?).

图片转代码服务由CSDN问答提供 功能建议

我签出了答案,但这使用的是旧的且未维护的mgo。 我如何使用mongo-go-driver查找集合中的所有文档?

我尝试传递 nil 过滤器,但这不会返回任何文档,并且 而是返回 nil 。 我还检查了文档,但没有看到任何返回全部内容的提示 文档。 这是我尝试使用上述结果的结果。

  client,err:= mongo.Connect(context.TODO(),“ mongodb:// localhost:27017”)  
coll:= client.Database(“ test”)。Collection(“ albums”)
if err!= nil {fmt.Println(err)} 
 //我们可以假设我们已经连接好了吗... \?  nfmt.Println(“ connected to mongodb”)
var结果[] *相册
findOptions:= options.Find()
cursor,err:= coll.Find(context.TODO(),nil,findOptions)
if  err!= nil {
 fmt.Println(err)//打印'document is nil'

此外,我对为什么感到困惑 当我在集合上调用了 Find()函数时,我需要指定 findOptions (或者我不需要指定吗?)。 < / DIV>

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

2条回答 默认 最新

相关推荐 更多相似问题