登录
首页 >  Golang >  Go问答

使用 MongoDB Go 驱动程序根据 _id 查找文档

来源:stackoverflow

时间:2024-03-13 22:18:23 309浏览 收藏

大家好,我们又见面了啊~本文《使用 MongoDB Go 驱动程序根据 _id 查找文档》的内容中将会涉及到等等。如果你正在学习Golang相关知识,欢迎关注我,以后会给大家带来更多Golang相关文章,希望我们能一起进步!下面就开始本文的正式内容~

问题内容

我正在尝试通过自动生成的 _id 字段查找文档。下面的代码不返回任何内容:

var documentid bson.rawvalue
documentid.type = 7
documentid.value = []byte("5c7452c7aeb4c97e0cdb75bf")
objid := documentid.objectid()
value := collection.findone(ctx, bson.m{"_id": objid})

我提供的值是我从 mongo express 获取的真实文档 id

"_id": ObjectID("5c7452c7aeb4c97e0cdb75bf")

如果你想知道为什么我要为 rawvalue 烦恼,我找到了使用 bson.ec.objectid 的示例,但 bson 包似乎没有 ec 类型,我还发现了一些提到 github.com/mongodb/mongo- 的示例go-driver/bson/objectid 包,但我也找不到该包。我以前使用 mgo 进行开发,但我对 mongo-go-driver 很陌生,所以如果您能指出一种声明 objectid 的简单方法。


解决方案


正如 @carlos 提到的,我改变了我的代码,一切正常。

objID, _ := primitive.ObjectIDFromHex("5c7452c7aeb4c97e0cdb75bf")
value := collection.FindOne(ctx, bson.M{"_id": objID})

文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《使用 MongoDB Go 驱动程序根据 _id 查找文档》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>