Mongo findAndUpdate用于更新多个文档

时间:2016-02-24 10:05:46

标签: 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}
     }
   })

或者我也尝试过:

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

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

3 个答案:

答案 0 :(得分:2)

在这里使用简单的更新查询,最后2个真实用于&#34; &#34;和&#34; upsert &#34;

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

答案 1 :(得分:2)

findAndModify()不允许{multi: true}。您只能更新一个文档并返回原始文档(默认),或者您可以请求更新文档。

答案 2 :(得分:1)

以下主题帮助解决了这个问题:

How to update date field in mongo console?

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