在每个文档的数组中删除mongo特定的嵌套文档

时间:2018-08-08 06:56:33

标签: arrays mongodb mongodb-query

{
        "_id" : 123,
        "a" : [
                {
                        "b" : 1,
                        "bb" : 2
                },
                {
                        "c" : 2,
                        "cc" : 3
                }
        ],
        "ab" : [
                {
                        "d" : 4,
                        "dd" : 5
                },
                {
                        "e" : 5,
                        "ee" : 6
                }
        ]
}

需要为每个文档删除数组中特定于mongo的嵌套文档

输出应类似于:基于输入_id:123,ab.d = 4

{
        "_id" : 123,
        "a" : [
                {
                        "b" : 1,
                        "bb" : 2
                },
                {
                        "c" : 2,
                        "cc" : 3
                }
        ],
        "ab" : [
                {
                        "e" : 5,
                        "ee" : 6
                }
        ]
}

1 个答案:

答案 0 :(得分:0)

您正在寻找$ pull运算符(https://docs.mongodb.com/manual/reference/operator/update/pull/)的更新

在您的情况下:

db.mycollection.update({"_id":123}, {$pull: {"ab":{"d":4}}})