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

MongoDB $ tirar matriz 2 nivel

No necesita la notación completa ya que el marcador de posición ya se ha movido a esa posición en la matriz.

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

Esta parte:

idVoyage: { <query> }

solo se necesita porque el operador posicional en "commandes.$.voyagesSouscrits " solo puede coincidir con el primero posición de matriz encontrada en la consulta.

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

Espero que eso lo aclare.