我有示例产品表,并希望使用_id字段更新多个文档。每次,我尝试这个只更新我提到的$ in子句中的第一个doc,而不是更新所有。
db.products.update({_id:{$in:[ObjectId("507d95d5719dbef170f15bff"),
ObjectId("507d95d5719dbef170f15c01"), ObjectId("507d95d5719dbef170f15c00")]}},
{$set:{'monthly_price':7865}}, {multi:true})
答案 0 :(得分:0)
您可以先尝试在products表上运行find,以确保所有对象ID实际存在。
您还可以尝试explain command
答案 1 :(得分:0)
尝试一下:
db.<collection>.update( { query }, {$set: {monthly_price:7865}}, false, true)
答案 2 :(得分:0)
我认为你给出的对象id在集合中不存在 我尝试使用以下查询,它对我有用。
db.test.update({_id:{$in:[ObjectId("57b33483e5b9ce24f4910855"),
ObjectId("57b33483e5b9ce24f4910856"),
ObjectId("57b33489e5b9ce24f4910857"),
ObjectId("57b33491e5b9ce24f4910858")
]
}
},
{$set{'isCurrentStatus':true}},
{multi:true}
)