2012-01-11 8 views
1

IはNドキュメント有する:1、30、500、いくつかのロジックによってMongoDBの要求(これは可能ですか?)

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

を私はM _idsの配列を得1001、...、i]とする。

mのカーソルを取得するための_idsの配列を使用して1つのリクエストを作成することはできますか?

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シェルと公式のC#ドライバではどうすればいいですか?

ありがとうございます! C#のドライバでこれを行うには

答えて

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

だけでなく、これは正しいですが、それはまた、非常に効率的になります。 –

+0

Remonありがとう!!!! – Edward83

+0

あなたは大歓迎です –

0

そして:

var documentIds = new BsonValue[] { ObjectId.Parse("id1"), ObjectId.Parse("id2")}; 
var query = Query.In("_id", documentIds); 
関連する問題