MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

MongoDB – Projizieren Sie nur das übereinstimmende Element in einem Array

Verwenden Sie den Positionsoperator ($ ), um nur das erste übereinstimmende Unterdokument zu projizieren.

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

Verwenden von meteor , müssten Sie sich an die Aggregation halten, da die positional Operator funktioniert nicht:

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