我有这样的架构:
orders = {"productIds:[1,2]}
products = {"_id": 1}
我想将数组1
中的值productIds
(例如)拉到包含此值的所有orders
。
我试过了:
db.orders.update({productIds: {$elemMatch: {$eq: 1}}},{$pull: {productIds: 1}})
但此查询仅更新一个在productIds中值为1的文档,而不是所有文档。
答案 0 :(得分:2)
您必须指定更新多个文档。
db.orders.update({productIds: {$elemMatch: {$eq: 1}}},{$pull: {productIds: 1}},{multi:true})