我有一个文档:
[
{
"_id": "626c5fd2aa0fc0e4eef45c94",
"productos": [
{
"_id": "626d50b621180e291a330333",
"nombre": "ciruelas",
"descripcion": "marca lala",
"codigo": 33,
"foto": "https://cdn3.iconfinder.com/data/icons/fruits-52/150/icon_fruit_morango-256.png",
"precio": 15,
"stock": 30,
"timestamp": "2022-04-30T15:06:45.128Z",
"__v": 0
}
],
"timestamp": "2022-04-29T21:59:35.301Z",
"__v": 0
},
{
"_id": "626d508b21180e291a33032c",
"productos": [],
"timestamp": "2022-04-30T15:06:45.139Z",
"__v": 0
}
]
我想删除"ciruela"使用" id";626d50b621180e291a330333;在"productos".
我怎么能那样做呢?
您可以使用$pull
从数组productos
中删除指定_id
的对象
db.collection.update({
"_id": "626c5fd2aa0fc0e4eef45c94"
},
{
"$pull": {
"productos": {
"_id": "626d50b621180e291a330333"
}
}
})
这里是代码的链接供您参考https://mongoplayground.net/p/tsOJypb5Y6q
解决!
我不得不寻找我的"产品"。第一。
async eraseMyProductFromCart (idProduct, idCart) {
try{
const productSelected = await Product.findOne({_id:idProduct})
await Cart.findByIdAndUpdate(idCart, {$pull: {"products": productSelected}})
return Cart.find()
}
catch(error){
console.log(error.message)
}
}
然后,当我做findByIdAndUpdate
时,拉那个产物。
我不知道这是不是正确的解决方案,但它对我有效。