我在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"是可选的。

09-17 16:29