Mongo findAndUpdate 用于更新多个文档

run*_*ero 5 mongodb

我尝试使用 mongo findAndUpdate 更新多个文档并不断收到语法错误:

db.forecasts.findAndModify({
   query: {forDate: ISODate("2016-02-25T05:00:00.000+0000")},
   update: {
      { $set: {forDate: ISODate("2016-02-23T05:00:00.000+0000")}}, 
      {multi: true}
     }
   })
Run Code Online (Sandbox Code Playgroud)

或者我也尝试过:

db.forecasts.update({
   {'forDate': ISODate("2016-02-25T05:00:00.000+0000")},
   {'forDate': ISODate("2016-02-23T05:00:00.000+0000")}, 
   {multi: true}  
   })
Run Code Online (Sandbox Code Playgroud)

我收到的错误是: Error at line 2 position 3: <missing ')'

Nis*_*ant 5

此处使用简单的更新查询,最后 2 个 true 分别用于“ upsert ”和“ multi

db.forecasts.update( {"forDate":ISODate("2016-02-25T03:34:54Z")}, { $set : { "forDate" : new ISODate("2016-03-23T03:34:54Z") } }, true, true);
Run Code Online (Sandbox Code Playgroud)


run*_*ero 0

以下线程帮助解决了该问题:

如何更新 mongo 控制台中的日期字段?

db.forecasts.update( {}, { $set : { "forDate" : new ISODate("2016-02-23T03:34:54Z") } }, true, true);
Run Code Online (Sandbox Code Playgroud)