sql >> Databasteknik >  >> NoSQL >> MongoDB

MongoDB - Projicera endast det matchande elementet i en array

Använd positionsoperatorn($ ) för att endast projicera det första matchande underdokumentet.

db.t.find({"array":{"type":"dog", "name":"Steve"}},{"array.$":1})

Använder meteor , skulle du behöva hålla dig till aggregering, eftersom positional operatören fungerar inte:

db.t.aggregate([
{$match:{"array.type":"dog","array.name":"Steve"}},
{$unwind:"$array"},
{$match:{"array.type":"dog","array.name":"Steve"}}
])



  1. Få DateTime från mongo-samlingen med hjälp av c#-drivrutinen

  2. Tappa Mongo-samlingen rensar inte diskutrymme

  3. Sammanlagd fråga med where condition

  4. Mongodb rekursiv fråga