如何从 mongo 集合中的数组 属性 中删除元素
How to remove an element from an array property in mongo collection
我是 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 完成此操作。
$pull
应该可以解决问题:
db.groups.update(
{},
{ $pull: { members: "product:naxi" } },
{ multi: true }
)
我是 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 完成此操作。
$pull
应该可以解决问题:
db.groups.update(
{},
{ $pull: { members: "product:naxi" } },
{ multi: true }
)