MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

MongoDB $pull array 2 Ebene

Sie benötigen nicht die vollständige Notation, da der Platzhalter bereits an diese Position im Array verschoben wurde.

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

Dieser Teil:

idVoyage: { <query> }

wird nur benötigt, weil der Positionsoperator in "commandes.$.voyagesSouscrits " kann nur mit dem ersten übereinstimmen Array-Position in der Abfrage gefunden.

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

Hoffe, das klärt es auf.