我正在尝试使用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;
答案 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);