使用_id字段更新mongodb中的多个文档

使用_id字段更新mongodb中的多个文档,mongodb,Mongodb,我有示例products表,希望使用_id字段更新多个文档。每次,我都尝试这样做,它只更新我提到的$in子句中的第一个文档,而不是全部更新 db.products.update({_id:{$in:[ObjectId("507d95d5719dbef170f15bff"), ObjectId("507d95d5719dbef170f15c01"), ObjectId("507d95d5719dbef170f15c00")]}}, {$set:{'monthly_price':7865}}, {m

我有示例products表,希望使用_id字段更新多个文档。每次,我都尝试这样做,它只更新我提到的$in子句中的第一个文档,而不是全部更新

db.products.update({_id:{$in:[ObjectId("507d95d5719dbef170f15bff"),
ObjectId("507d95d5719dbef170f15c01"), ObjectId("507d95d5719dbef170f15c00")]}},
{$set:{'monthly_price':7865}}, {multi:true})

您可以首先尝试在products表上运行find,以确保所有对象ID实际上都存在

您也可以尝试

尝试一下:

db.<collection>.update( { query }, {$set: {monthly_price:7865}}, false, true)
db..update({query},{$set:{monthly_price:7865}},false,true)

我认为您提供的对象id在集合中不存在。
我尝试使用下面的查询,它对我有效

db.test.update({_id:{$in:[ObjectId("57b33483e5b9ce24f4910855"),
                          ObjectId("57b33483e5b9ce24f4910856"),
                          ObjectId("57b33489e5b9ce24f4910857"),
                          ObjectId("57b33491e5b9ce24f4910858")
                         ]
                     }
                 },
                 {$set{'isCurrentStatus':true}}, 
                 {multi:true}
              )

这个查询对我很有用。您还有一些其他问题。您好,sai teja,欢迎来到Stack Overflow。与其包含查询结果的屏幕截图,不如将其粘贴为文本。通过这种方式,它更具可读性和可索引性等。在这个网站上,鼓励用户进行编辑,以尽可能地改进他们的答案,因此这将是一个良好的开端。