0
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 intend 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 happens to erase all objects with the id
specified. There is a way for me to delete one at a time?
I decided to add a key value to each document inside the array and was eliminating based on it.
– C-lio Garcia
Tip: Add your comment as a reply and mark as accepted! so your question gets answered and helps those who are looking for an answer.
– Jorge C. Bernhard Tautz