【问题标题】:How to remove an element from an array property in mongo collection如何从 mongo 集合中的数组属性中删除元素
【发布时间】:2021-09-04 11:45:19
【问题描述】:

我是 mongodb 新手,需要一些查询指导。

我有一个名为 groups 的集合,如下所示。

{

    "_id" : ObjectId("jkhjkhkjhkj"),
    "name" : "some_name",
    "members" : [ 
        "product:naxi", 
        "product:tina", 
        "product:natalia"
    ]

},

{

    "_id" : ObjectId("jhkjhkjhkjhk"),
    "name" : "some_other_name",
    "members" : [ 
        "product:naxi", 
        "product:albert", 
        "product:natalia"
    ]

},

{

    "_id" : ObjectId("678687hjbnbmnm"),
    "name" : "some_new_name",
    "members" : [ 
        "product:peter, 
        "product:sonya", 
        "product:tom"
    ]

}

我想删除 product:naxi 存在于组集合中任何项目的成员数组中的任何位置。

下面是最终结果的样子 -

{

    "_id" : ObjectId("jkhjkhkjhkj"),
    "name" : "some_name",
    "members" : [ 
        "product:tina", 
        "product:natalia"
    ]

},

{

    "_id" : ObjectId("jhkjhkjhkjhk"),
    "name" : "some_other_name",
    "members" : [ 
        "product:albert", 
        "product:natalia"
    ]

},

{

    "_id" : ObjectId("678687hjbnbmnm"),
    "name" : "some_new_name",
    "members" : [ 
        "product:peter", 
        "product:sonya", 
        "product:tom"
    ]

}

如何使用 pymongo 来做到这一点。

【问题讨论】:

标签: mongodb pymongo


【解决方案1】:

$pull 应该可以解决问题:

db.groups.update(
    {},
    { $pull: { members: "product:naxi" } },
    { multi: true }
)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-01-26
    • 2017-08-23
    • 2021-06-26
    • 1970-01-01
    • 2023-03-27
    • 2015-03-24
    • 2020-09-07
    • 2011-02-06
    相关资源
    最近更新 更多