更新/拉取包含在 Mongodb/Mongoose 子文档数组中的数组中的值 [英] Updating/Pulling a value in an Array contained in a Subdocument Array in Mongodb/Mongoose

查看:45
本文介绍了更新/拉取包含在 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆