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

MongoDB $pull array 2 niveau

Du behøver ikke den fulde notation, da pladsholderen allerede er flyttet til den position i arrayet.

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

Denne del:

idVoyage: { <query> }

er kun nødvendig, fordi positionsoperatoren i "commandes.$.voyagesSouscrits " kan kun matche den første matrixposition fundet i forespørgslen.

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

Håber det opklarer det.




  1. Redis:Race Condition og enkelt gevind

  2. Matcher et array-felt, som indeholder en hvilken som helst kombination af det leverede array i MongoDB

  3. Redis indsættelse ude af drift, eller sorterer mærkeligt?

  4. MongoDB indlejret matrixforespørgsel