更新/拉取Mongodb / Mongoose中子文档数组中包含的数组中的值

和平慈悲

我在mongoDB集合中有一个文档,如下所示:

 _id:'5d4721e0b904e825755eaf89',
 sellers:[
   {_id:'5d5eeaf7867a4e1e9a1219e6'
    bizs:[
       {_id:'6a5eeaf7867a4e124a1219a4',
       name:'Shop A'}
    ]},

 ]

我需要拉/删除商店A(例如使用其_id)

到目前为止,我已经尝试使用Positional Operator $,但是仍然无法访问它。

以下是我尝试过的代码:

Model.findByIdAndUpdate(someId, {
  "$pull": {
      'sellers.bizs.$._id':itemId
  }
})

但我收到“位置运算符未从查询中找到所需的匹配项”错误消息。

现在,我想从Shops阵列中删除Shop A,该Bizs阵列位于Sellers阵列中。

我该如何实现?

我是谁

请尝试这个:

Model.findByIdAndUpdate(someId,
{ $pull : { 'sellers.$[].bizs': {"_id" : itemId,"name" : "Shop A" } }})

"name" : "Shop A"是可选的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

MongoDB linq C#选择文档,其中子文档数组包含字符串数组中的所有值

更新子文档中的数组-mongoose mongodb

MongoDB - 在单个查询中拉取和更新

如果Mongoose数组中包含元素,则查找Mongodb文档

Mongoose 更新嵌套文档数组中嵌套对象中的值

在Mongoose / MongoDB中的子文档,数组,文档中过滤数组

使用Mongoose更新数组中的子文档

在 mongodb 中包含对象数组的 UpdateMany 文档

更新对象数组中的值,在 mongodb 的文档中

如何使用Mongoose将值推入MongoDB中嵌入式文档中的数组?

MongoDB-$ filter中的聚合$ filter /子文档中子文档的过滤数组

从mongodb中的文档获取键/值对的数组

MongoDB:按数组中的值查询文档

如何在mongoDB或Mongoose中更新嵌套数组的值

查找文档,然后使用Node.JS Mongoose将值插入MongoDB中的数组

对查询结果基于Mongoose / Mongodb数组中嵌套子文档的desc值进行排序

如何在Mongoose中更新数组值

如何使用C#驱动程序更新MongoDB中数组子文档中包含的数组子文档中的字段?

使用Java在mongodb中查找具有包含特定值的数组的文档

在 mongoDB 对象数组中推送对象,其中包含来自父文档的值

如何在 mongoose/mongodb 中对子文档数组进行排序?

在Mongoose中更新子文档数组而不获取父对象

如何使用 mongoose 在单个 mongodb 文档中更新数组中的多个对象

根据嵌套最多和嵌套最少的数组mongoDB中的值过滤包含三层嵌套数组的文档

MongoDB:更新文档数组中的对象

在MongoDB中更新嵌套数组文档

更新MongoDB中的子文档数组

在MongoDB中更新多个子文档数组

MongoDB更新数组中的错误子文档