MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

MongoDB $ pull array 2 nível


Você não precisa da notação completa, pois o espaço reservado já foi movido para essa posição na matriz.
db.junk.update(
    { "commandes.voyagesSouscrits.idVoyage": "123" },
    {$pull: { "commandes.$.voyagesSouscrits": { idVoyage: "123" } }}
)

Esta parte:
idVoyage: { <query> }

só é necessário porque o operador posicional em "commandes.$.voyagesSouscrits " só pode corresponder ao primeiro posição da matriz encontrada na consulta.

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

Espero que isso esclareça.