为了账号安全,请及时绑定邮箱和手机立即绑定

使用存储在数组中的 _id 从 golang 查询 mongodb

使用存储在数组中的 _id 从 golang 查询 mongodb

Go
潇湘沐 2021-08-23 16:41:54
所以这是我的问题。我有一个存储_idsmongodbs 对象的数组。使用 mgo 和 bson 包在一个查询中检索它们的正确方法是什么?所以如果数组是这样的: ids:=["543d171c5b2c12420dd016","543d171c5b2dd016"]我们如何进行查询?我试过了,但我知道它错了。query := bson.M{"_id": bson.M{"$in": ids}}c.Find(query).All()提前致谢
查看完整描述

2 回答

?
鸿蒙传说

TA贡献1865条经验 获得超7个赞

如果文档是用字符串 id 存储的,那么代码看起来是正确的。


id 看起来像十六进制编码的对象 id。如果对象标识符是对象 ID,则需要将十六进制字符串转换为对象 ID:


oids := make([]bson.ObjectId, len(ids))

for i := range ids {

  oids[i] = bson.ObjectIdHex(ids[i])

}

query := bson.M{"_id": bson.M{"$in": oids}}


查看完整回答
反对 回复 2021-08-23
  • 2 回答
  • 0 关注
  • 243 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信