sql >> Database >  >> NoSQL >> MongoDB

MongoDB - Projecteer alleen het overeenkomende element in een array

Gebruik de positionele operator($ ) om alleen het eerste overeenkomende subdocument te projecteren.

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

Met behulp van meteor , zou u zich aan aggregatie moeten houden, aangezien de positional operator werkt niet:

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



  1. Vul het geselecteerde veld uit de verzameling en filter volgens de geselecteerde waarde in meteor

  2. Mongo $addToSet an array

  3. MongoDb subdocument uit document verwijderen

  4. Handige scripts voor Couchbase Dba