我在MongoDB集合中有一个文档,如下所示:
_id:'5d4721e0b904e825755eaf89',
sellers:[
{_id:'5d5eeaf7867a4e1e9a1219e6'
bizs:[
{_id:'6a5eeaf7867a4e124a1219a4',
name:'Shop A'}
]},
]
我需要拉取/删除商店A(例如使用其ID)
到目前为止,我已经尝试使用位置运算符$,但仍然无法访问它。
以下是我所尝试的代码:
Model.findByIdAndUpdate(someId, {
"$pull": {
'sellers.bizs.$._id':itemId
}
})
但我收到“位置运算符未从查询中找到所需的匹配项”错误消息。
现在,我想把那家商店从一个商业阵列中拉出来,这个商业阵列在卖方阵列中。
我怎样才能做到这一点?
最佳答案
请试试这个:
Model.findByIdAndUpdate(someId,
{ $pull : { 'sellers.$[].bizs': {"_id" : itemId,"name" : "Shop A" } }})
这里
"name" : "Shop A"
是可选的。