MongoDB 从子子数组中删除所有匹配项

德拉苏姆

只是想知道实现这一目标的最佳方法是什么。我可以想到一些笨拙的方法,但它们似乎不对。

我想要做的是从文档中删除所有子子数组对象。像下面这样:

架构

schema {
  person: Array<{
    id: string;
    posts: Array<{
      id: string,
      comments: Array<{
        id: string
        tagged_person_id: string;
      }>
    }>
  }>
}

我正在寻找某种方法来删除每个帖子中每个人的所有评论tagged_person_id == some_id这不是我的实际用例,但它代表了相同的概念。

我知道如何使用$pull从一个子文档的子数组中删除,但只是不确定如何在一个查询中完成所有这些,或者是否可能。

无情的

根据 JIRA 票证SERVER-1243文档,从 MongoDB v3.5.12 开始,给出以下文档:

{
    "posts" : [ 
        {
            "comments" : [ 
                {
                    "tagged_person_id" : "x"
                }, 
                {
                    "tagged_person_id" : "y"
                }
            ]
        }, 
        {
            "comments" : [ 
                {
                    "tagged_person_id" : "x"
                }
            ]
        }, 
        {
            "comments" : [ 
                {
                    "tagged_person_id" : "y"
                }
            ]
        }
    ]
}

您可以运行此更新:

db.collection.update({}, {
    $pull : {
        "posts.$[].comments" : {"tagged_person_id": "x"}
    }
})

为了删除所有注释,其中tagged_person_id等于"x"

结果:

{
    "posts" : [ 
        {
            "comments" : [ 
                {
                    "tagged_person_id" : "y"
                }
            ]
        }, 
        {
            "comments" : []
        }, 
        {
            "comments" : [ 
                {
                    "tagged_person_id" : "y"
                }
            ]
        }
    ]
}

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从MongoDB中的所有子数组中删除元素

来自分类Dev

如何在 mongodb 中为 javascript 数组中的所有元素查找匹配项?

来自分类Dev

MongoDB:从单个文档中查找所有匹配的数组元素

来自分类Dev

从mongodb中数组的所有元素中删除字段

来自分类Dev

如何使用MongoDB $ elemMatch获得所有匹配项?

来自分类Dev

在MongoDB集合中的RegEx数组中查找匹配项

来自分类Dev

删除MongoDB集合中的所有问题

来自分类Dev

mongoDB $ pull从子数组

来自分类Dev

mongoDB $ pull从子数组

来自分类Dev

MongoDB:在数组中查找最佳可能匹配项[Mongoose]

来自分类Dev

从mongodb数组的所有重复项中拉出一个元素

来自分类Dev

mongodb $ elem匹配查询返回所有子文档

来自分类Dev

查询与mongodb中的条件匹配的文档及其所有子文档

来自分类Dev

查询与mongodb中的条件匹配的文档及其所有子文档(使用spring)

来自分类Dev

在MongoDB中删除重复项

来自分类Dev

从猫鼬等效的数组mongodb中删除一项

来自分类Dev

mongodb从所有文档中获取所有子文档

来自分类Dev

MongoDB-从数组中所有匹配的对象中获取字段?

来自分类Dev

如何从MongoDB中的数组中删除除X之外的所有对象?

来自分类Dev

未设置MongoDB会删除子级中的所有内容

来自分类Dev

未设置MongoDB会删除子级中的所有内容

来自分类Dev

使用应用于MongoDB中更改流的聚合阶段从子数组中删除元素?

来自分类Dev

在MongoDB中对与子数组条件匹配的文档进行计数

来自分类Dev

MongoDb查询以匹配和删除数组中的元素?

来自分类Dev

MongoDb查询以匹配和删除数组中的元素?

来自分类Dev

mongodb删除匹配数组中每个元素的文档

来自分类Dev

删除嵌套在MongoDB中的数组中的子文档

来自分类Dev

删除嵌套在MongoDB中的数组中的子文档

来自分类Dev

在MongoDB中搜索数组匹配

Related 相关文章

  1. 1

    如何从MongoDB中的所有子数组中删除元素

  2. 2

    如何在 mongodb 中为 javascript 数组中的所有元素查找匹配项?

  3. 3

    MongoDB:从单个文档中查找所有匹配的数组元素

  4. 4

    从mongodb中数组的所有元素中删除字段

  5. 5

    如何使用MongoDB $ elemMatch获得所有匹配项?

  6. 6

    在MongoDB集合中的RegEx数组中查找匹配项

  7. 7

    删除MongoDB集合中的所有问题

  8. 8

    mongoDB $ pull从子数组

  9. 9

    mongoDB $ pull从子数组

  10. 10

    MongoDB:在数组中查找最佳可能匹配项[Mongoose]

  11. 11

    从mongodb数组的所有重复项中拉出一个元素

  12. 12

    mongodb $ elem匹配查询返回所有子文档

  13. 13

    查询与mongodb中的条件匹配的文档及其所有子文档

  14. 14

    查询与mongodb中的条件匹配的文档及其所有子文档(使用spring)

  15. 15

    在MongoDB中删除重复项

  16. 16

    从猫鼬等效的数组mongodb中删除一项

  17. 17

    mongodb从所有文档中获取所有子文档

  18. 18

    MongoDB-从数组中所有匹配的对象中获取字段?

  19. 19

    如何从MongoDB中的数组中删除除X之外的所有对象?

  20. 20

    未设置MongoDB会删除子级中的所有内容

  21. 21

    未设置MongoDB会删除子级中的所有内容

  22. 22

    使用应用于MongoDB中更改流的聚合阶段从子数组中删除元素?

  23. 23

    在MongoDB中对与子数组条件匹配的文档进行计数

  24. 24

    MongoDb查询以匹配和删除数组中的元素?

  25. 25

    MongoDb查询以匹配和删除数组中的元素?

  26. 26

    mongodb删除匹配数组中每个元素的文档

  27. 27

    删除嵌套在MongoDB中的数组中的子文档

  28. 28

    删除嵌套在MongoDB中的数组中的子文档

  29. 29

    在MongoDB中搜索数组匹配

热门标签

归档