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

MongoDB $ pull array 2 livello

Non è necessaria la notazione completa poiché il segnaposto si è già spostato in quella posizione nell'array.

db.junk.update(
    { "commandes.voyagesSouscrits.idVoyage": "123" },
    {$pull: { "commandes.$.voyagesSouscrits": { idVoyage: "123" } }}
)

Questa parte:

idVoyage: { <query> }

è necessario solo perché l'operatore posizionale in "commandes.$.voyagesSouscrits " può corrispondere solo al primo posizione dell'array trovata nella query.

http://docs.mongodb.org/manual/reference/operator/projection/positional/

Spero che questo chiarisca.