猫鼬-在数组中查找和删除对象



我有一个文档:

[
{
"_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时,拉那个产物。

我不知道这是不是正确的解决方案,但它对我有效。

相关内容

  • 没有找到相关文章

最新更新