Utilisez l'opérateur de position ($
) pour projeter uniquement le premier sous-document correspondant.
db.t.find({"array":{"type":"dog", "name":"Steve"}},{"array.$":1})
Utiliser meteor
, vous devrez vous en tenir à l'agrégation, puisque le positional
l'opérateur ne fonctionne pas :
db.t.aggregate([
{$match:{"array.type":"dog","array.name":"Steve"}},
{$unwind:"$array"},
{$match:{"array.type":"dog","array.name":"Steve"}}
])