I have the following document inside a collection in mongodb:
{
"_id" : ObjectId("5988efbb742568478c6a086f"),
"cliente" : "[email protected]",
"lista_compras" : [
{
"id_produto" : ObjectId("5983bb21834000b1b8e7978f"),
"produto" : "Leite Nido em Lata 87 copos",
"preco" : 5250,
"imagem" : "../../images/produtos/candando/nido.jpg"
},
{
"id_produto" : ObjectId("5983bb21834000b1b8e7978f"),
"produto" : "Leite Nido em Lata 87 copos",
"preco" : 5250,
"imagem" : "../../images/produtos/candando/nido.jpg"
},
{
"id_produto" : ObjectId("5983bb21834000b1b8e7978f"),
"produto" : "Leite Nido em Lata 87 copos",
"preco" : 5250,
"imagem" : "../../images/produtos/candando/nido.jpg"
},
{
"id_produto" : ObjectId("5983bb21834000b1b8e7978a"),
"produto" : "Banana prata cultivada no sul de Angola 100gr",
"preco" : 689,
"imagem" : "../../images/produtos/candando/banana.jpg"
},
{
"id_produto" : ObjectId("5983bb21834000b1b8e7978b"),
"produto" : "Atum amiga de óleo vegetal",
"preco" : 120450,
"imagem" : "../../images/produtos/candando/atum.jpg"
},
{
"id_produto" : ObjectId("5983bb21834000b1b8e7978a"),
"produto" : "Banana prata cultivada no sul de Angola 100gr",
"preco" : 689,
"imagem" : "../../images/produtos/candando/banana.jpg"
},
{
"id_produto" : ObjectId("5983bb21834000b1b8e7978a"),
"produto" : "Banana prata cultivada no sul de Angola 100gr",
"preco" : 689,
"imagem" : "../../images/produtos/candando/banana.jpg"
},
{
"id_produto" : ObjectId("5983bb21834000b1b8e7978a"),
"produto" : "Banana prata cultivada no sul de Angola 100gr",
"preco" : 689,
"imagem" : "../../images/produtos/candando/banana.jpg"
}
]
}
I want to remove one object at a time. I use the following command:
db.carrinhos.update(
{cliente: "[email protected]"},
{$pull: {lista_compras: { id_produto: ObjectId("5983bb21834000b1b8e7978f") }}}
)
It turns out that you delete all objects with the id
specified. Is there a way I can delete one at a time?