sql >> Base de Datos >  >> NoSQL >> MongoDB

MongoDB:proyecta solo el elemento coincidente en una matriz

Use el operador posicional ($ ) para proyectar solo el primer subdocumento coincidente.

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

Usando meteor , tendrías que ceñirte a la agregación, ya que el positional el operador no funciona:

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