sql >> Databasteknik >  >> NoSQL >> MongoDB

MongoDB hittar där nyckel är lika med sträng från array

Det du postade borde fungera - ingen looping krävs. $in operatören gör jobbet:

> db.Room.insert({ "_id" : 1, name: 'first'});
> db.Room.insert({ "_id" : 2, name: 'second'});
> db.Room.insert({ "_id" : 3, name: 'third'});
> // test w/ int
> db.Room.find({ "_id" : { $in : [1, 2] }});
{ "_id" : 1, "name" : "first" }
{ "_id" : 2, "name" : "second" }
> // test w/ strings
> db.Room.find({ "name" : { $in : ['first', 'third'] }});
{ "_id" : 1, "name" : "first" }
{ "_id" : 3, "name" : "third" }

Är det inte vad du förväntar dig?

Testad med MongoDB 2.1.1




  1. Mongo-indexering på kapslat objekt

  2. Är det möjligt att få fälten i projektionsordning i Aggregation Frameworks mongo

  3. Dela sessioner med redis och pass på en underdomän?

  4. Tillvägagångssätt för säkerhetskopiering och katastrofåterställning i HBase