gpt4 book ai didi

mongodb - 打印 mongoDB Collection Golang 中的所有记录

转载 作者:IT王子 更新时间:2023-10-29 02:01:04 25 4
gpt4 key购买 nike

我有一个 MongoDB 集合 collection := db.Collection("JobBacklog"),我正在尝试将其打印到控制台中。数据库位于 Docker 容器中,并使用 Go 编写的脚本对其进行控制。

根据我从 mongo-go-driver 中找到的内容 https://godoc.org/github.com/mongodb/mongo-go-driver/mongo有一种方法可以做到这一点,但是当我知道它不是时,我的代码一直返回 document is nil

这是我用来尝试遍历名为 JobBacklog

的集合的代码
cur, err := collection.Find(context.Background(), nil)
if err != nil {
log.Fatal(err)
}
defer cur.Close(context.Background())
for cur.Next(context.Background()) {
raw, err := cur.DecodeBytes()
if err != nil {
log.Fatal(err)
}
//print element data from collection
fmt.Println("Element", raw, x)
}
if err := cur.Err(); err != nil {
log.Fatal(err)
}

我希望它打印出集合的内容是:

_id:5c2d34e36657ba3238374f9a
UID:"ALDK"
PROFILE:"B"
STATUS:"PENDING"
DEVICE:"2.2.2.2"

这是 JobBacklog 数据库的示例条目。

完全公开,这样做的最终目标是找到添加到集合中的最后一个条目,但我需要能够先通读集合。

我知道我已连接到数据库,我可以添加/查找/删除条目,但无法打印出集合中的所有内容。任何帮助表示赞赏。谢谢!

最佳答案

错误消息“document is nil”与 Find() 中的过滤器有关。更改行

cur,err := collection.Find(context.Background(), nil)

cur, err := collection.Find(context.Background(), bson.D{{}})

应该可以。

关于mongodb - 打印 mongoDB Collection Golang 中的所有记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54029129/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com