从mongo嵌套数组中拉出来

时间:2017-11-06 15:02:33

标签: arrays database mongodb aggregate

db.mypartnercoll.update({}, {$pull:{"partners":{"partnerId":45, "topicIds":{"$in":["alpha"]}}}})

我想从指定的合作伙伴处提取某些topicIds。 例如,我想从partnerId = 45中提取 alpha 主题(该条目应保留为topicIds = [“beta”])。

我试过了:

ngFor

但是这会删除整个partnerId = 45条目。我将有一个partnerId值和多个topicId来拉。

1 个答案:

答案 0 :(得分:0)

代替

db.mypartnercoll.update({}, {$pull:{"partners":{"partnerId":45, "topicIds":{"$in":["alpha"]}}}})

使用

db.mypartnercoll.update({"partners.$.partnerId":"yourdesired_partnerId"}, 
{$pull:{"partners":{"partnerId":45, "topicIds":{"$in":["alpha"]}}}})

这是一个更新查询,因此您可以在第一个{}中指定要操作的特定文档或数组元素