MongoDB 选择 _id 数组中的位置?

新手上路,请多包涵

在 mongo db 中可以像在 SQL 中一样选择集合的文档:

 SELECT * FROM collection WHERE _id IN (1,2,3,4);

或者如果我有一个 _id array 我必须一个一个地选择然后重新组合 array/object 结果?

原文由 itsme 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 453
2 个回答

简单的 :)

 db.collection.find( { _id : { $in : [1,2,3,4] } } );

取自: https ://www.mongodb.com/docs/manual/reference/operator/query/in/#mongodb-query-op.-in

原文由 programmersbook 发布,翻译遵循 CC BY-SA 4.0 许可协议

因为 mongodb 使用 bson 而 bson 是重要的属性类型。因为 _idObjectId 你必须这样使用:

 db.collection.find( { _id : { $in : [ObjectId('1'),ObjectId('2')] } } );

mongodb compass 中这样使用:

 { "_id" : { $in : [ObjectId('1'),ObjectId('2')] } }

注意: 字符串中的 objectId 有 24 长度。

原文由 ttrasn 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏