MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

MongoDB - Proietta solo l'elemento corrispondente in un array

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