在MongoDB中如何查找ObjectId列表中的所有文档?

时间:2014-07-23 03:59:03

标签: mongodb

我有一个ObjectId的_id列表,我想要所有匹配这些ID的文档,是否有一种有效的方法可以在一个查询中找到这些对象?

3 个答案:

答案 0 :(得分:1)

是的,使用$in运算符。

http://docs.mongodb.org/manual/reference/operator/query/in/#op._S_in

使用示例:

var arr = [ObjectId("52b11a1a3055376e9e00003d"), ObjectId("52b11a1a3055376e9e00003d")]
db.collection.find({_id: {$in: arr}})

答案 1 :(得分:0)

$in运算符采用一组参数,因此您要执行的操作是将列表中的所有ObjectId值提供给:

var list = [ObjectId("53cf334bb3b0796e36d42184"),ObjectId("53cf3358b3b0796e36d42185")];
db.collection.find({ "_id": { "$in": list } })

另请参阅其他query operators in the manual

答案 2 :(得分:0)

$ in运算符如下:

db.collection.find({_id: {$in : [ObjectId("505bd76785ebb509fc183733"), ObjectId("505bd76785ebb509fc183734")] }});