sql >> Database >  >> NoSQL >> MongoDB

MongoDB $pull array 2 niveau

U hebt de volledige notatie niet nodig omdat de tijdelijke aanduiding al naar die positie in de array is verplaatst.

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

Dit deel:

idVoyage: { <query> }

is alleen nodig omdat de positionele operator in "commandes.$.voyagesSouscrits " kan alleen overeenkomen met de eerste matrixpositie gevonden in de zoekopdracht.

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

Ik hoop dat dat het opheldert.




  1. Krijg BinData UUID van Mongo als string

  2. Hoe vraag je vanuit Mongoose pre hook in een Node.js / Express-app?

  3. 2 manieren om een ​​verzameling in MongoDB te verwijderen

  4. heroku mongohq en mongoïde Mongo::ConnectionFailure