首页 > 后端开发 > Golang > 正文

如何使用 Golang 通过 _ID 数组检索 MongoDB 文档?

DDD
发布: 2024-10-30 12:25:03
原创
600 人浏览过

How to Retrieve MongoDB Documents by _ID Array with Golang?

使用 Golang 通过 _ID 数组检索 MongoDB 文档

问题:

您拥有一个数组包含 MongoDB 对象 _ID。为了有效地检索所有相应的文档,您需要使用 mgo 和 bson 包进行查询。

解决方案:

要构建查询,首先检查存储的_ID。如果它们是字符串,则使用 bson.M{"_id": bson.M{"$in": ids}} 的初始查询是准确的。

但是,如果 _ID 是十六进制形式的对象标识符,需要进行转换。请按照以下步骤操作:

  1. 初始化数组 oid 来保存转换后的对象 ID。
  2. 迭代原始 ids 数组,使用 bson.ObjectIdHex 将每个 ID 转换为 bson.ObjectId。
  3. 更新您的查询以使用 oid 而不是原始 id。

以下是使用对象 ID 进行查询的更新代码:

<code class="go">oids := make([]bson.ObjectId, len(ids))
for i := range ids {
  oids[i] = bson.ObjectIdHex(ids[i])
}
query := bson.M{"_id": bson.M{"$in": oids}}</code>
登录后复制

按照以下步骤操作,可以有效检索指定_ID数组对应的所有MongoDB文档。

以上是如何使用 Golang 通过 _ID 数组检索 MongoDB 文档?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!