首页 > 后端开发 > Golang > 如何使用对象 ID 数组从 Go 查询 MongoDB?

如何使用对象 ID 数组从 Go 查询 MongoDB?

DDD
发布: 2024-11-03 00:42:29
原创
392 人浏览过

How to Query MongoDB from Go with an Array of Object IDs?

使用对象 ID 数组从 Go 查询 MongoDB

在 MongoDB 中,可以根据存储在数组中的对象标识符检索文档使用 $in 运算符以及 mgo 和 bson 包。

实现查询:

要正确执行查询,您需要确保数组的格式正确。如果文档使用字符串 ID 存储,则您提供的查询是准确的:

<code class="go">query := bson.M{"_id": bson.M{"$in": ids}}
c.Find(query).All()</code>
登录后复制

但是,如果对象标识符采用十六进制编码字符串的形式(例如“543d171c5b2c12420dd016”),则需要在查询中使用它们之前将它们转换为 bson.ObjectId 对象。执行此操作的方法如下:

<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>
登录后复制

此修改可确保查询与存储在数组中作为 bson.ObjectId 对象的对象标识符匹配。

以上是如何使用对象 ID 数组从 Go 查询 MongoDB?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板