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"}}
])