更新/拉取包含在 Mongodb/Mongoose 子文档数组中的数组中的值 [英] Updating/Pulling a value in an Array contained in a Subdocument Array in Mongodb/Mongoose
本文介绍了更新/拉取包含在 Mongodb/Mongoose 子文档数组中的数组中的值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在 mongoDB 集合中有一个文档,如下所示:
I have a document in a mongoDB collection which looks like this:
_id:'5d4721e0b904e825755eaf89',
sellers:[
{_id:'5d5eeaf7867a4e1e9a1219e6'
bizs:[
{_id:'6a5eeaf7867a4e124a1219a4',
name:'Shop A'}
]},
]
我需要拉/删除商店 A(例如使用它的 _id)
I need to pull/delete Shop A (by using its _id for instance)
到目前为止,我已尝试使用位置运算符 $,但仍然无法访问它.
So far I have tried using Positional Operator $ but I still couldn't access it.
以下是我尝试过的代码:
Below is my code of what I have tried:
Model.findByIdAndUpdate(someId, {
"$pull": {
'sellers.bizs.$._id':itemId
}
})
但我收到'位置运算符未从查询中找到所需的匹配'错误消息.
现在,我想从位于 Sellers 数组中的 bizs 数组中拉出那个 Shop A.
Now, I would like to pull that Shop A out of that bizs Array of which is in the Sellers array.
我如何实现这一目标?
推荐答案
请试试这个:
Model.findByIdAndUpdate(someId,
{ $pull : { 'sellers.$[].bizs': {"_id" : itemId,"name" : "Shop A" } }})
这里"name" : "Shop A"
是可选的.
这篇关于更新/拉取包含在 Mongodb/Mongoose 子文档数组中的数组中的值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文