我收集了一个名为foo
的假设.
foo
的每个实例都有一个名为lastLookedAt的字段,这是自epoch以来的UNIX时间戳.我希望能够通过MongoDB客户端,将所有现有文档(大约20000个)的时间戳设置为当前时间戳.
最好的处理方法是什么?
我收集了一个名为foo
的假设.
foo
的每个实例都有一个名为lastLookedAt的字段,这是自epoch以来的UNIX时间戳.我希望能够通过MongoDB客户端,将所有现有文档(大约20000个)的时间戳设置为当前时间戳.
最好的处理方法是什么?
不管版本如何,例如,<update>
是:
{ $set: { lastLookedAt: Date.now() / 1000 } }
然而,根据您的MongoDB版本,查询看起来会有所不同.不管版本如何,关键是the empty condition 100 will match any document.在Mongo shell中,或使用任何MongoDB客户端:
db.foo.updateMany( {}, <update> )
{}
是条件(空条件匹配任何文档)db.foo.update( {}, <update>, { multi: true } )
{}
是条件(空条件匹配任何文档){multi: true}
是"更新多个文档"选项100:
db.foo.update( {}, <update>, false, true )
{}
是条件(空条件匹配任何文档)false
代表"upsert"参数true
表示"多个"参数(更新多个记录)