Mongodb - 将数组中的元素拖到包含该元素的所有文档中

时间:2016-01-03 13:38:28

标签: arrays mongodb mongodb-query

我有这样的架构:

orders = {"productIds:[1,2]}

products = {"_id": 1}

我想将数组1中的值productIds(例如)拉到包含此值的所有orders。 我试过了:

db.orders.update({productIds: {$elemMatch: {$eq: 1}}},{$pull: {productIds: 1}})

但此查询仅更新一个在productIds中值为1的文档,而不是所有文档。

1 个答案:

答案 0 :(得分:2)

您必须指定更新多个文档。

db.orders.update({productIds: {$elemMatch: {$eq: 1}}},{$pull: {productIds: 1}},{multi:true})