Utilizzare l'operatore posizionale($
) per proiettare solo il primo documento secondario corrispondente.
db.t.find({"array":{"type":"dog", "name":"Steve"}},{"array.$":1})
Usando meteor
, dovresti attenerti all'aggregazione, dal momento che il positional
l'operatore non funziona:
db.t.aggregate([
{$match:{"array.type":"dog","array.name":"Steve"}},
{$unwind:"$array"},
{$match:{"array.type":"dog","array.name":"Steve"}}
])