通过_ids数组的MongoDB请求(可能吗?)

时间:2012-01-11 12:42:34

标签: javascript mongodb mongodb-.net-driver

例如,我有 n 文件:

{ _id : 1 }
{ _id : 2 }
{ _id : 3 }
...
{ _id : n }

根据某种逻辑,我得到了 m _ids的数组:[1,30,500,1001,...,i];

是否可以使用_ids数组发出一个请求来检索这些 m 文档的Cursor?我不想发出像:

这样的单独请求

db.things.findOne({_id:1});

db.things.findOne({_id:30});

db.things.findOne({_id:500});

db.things.findOne({_id:1001});

...

db.things.findOne({_id:i});

如果有可能,那么在JavaScript Shell和官方C#驱动程序上如何做到这一点?

谢谢!!!

2 个答案:

答案 0 :(得分:8)

c = db.things.find({_id:{$in:[1,30,500,1001,...,i]}})

答案 1 :(得分:0)

使用C#驱动程序执行此操作:

var documentIds = new BsonValue[] { ObjectId.Parse("id1"),  ObjectId.Parse("id2")}; 
var query = Query.In("_id", documentIds);