Answers:
无论您使用哪个版本,例如<update>
:
{ $set: { lastLookedAt: Date.now() / 1000 } }
但是,根据您的MongoDB版本,查询看起来会有所不同。不管版本如何,关键是空条件{}
将匹配任何文档。在Mongo Shell中,或与任何MongoDB客户端一起使用:
db.foo.updateMany( {}, <update> )
{}
是条件(空条件匹配任何文档)db.foo.update( {}, <update>, { multi: true } )
{}
是条件(空条件匹配任何文档){multi: true}
是“更新多个文档”选项db.foo.update( {}, <update>, false, true )
{}
是条件(空条件匹配任何文档)false
用于“ upsert ”参数true
用于“ multi”参数(更新多个记录)我已经使用MongoDB .NET驱动程序一个多月了。如果要使用.NET驱动程序,则可以在集合对象上使用Update方法。首先,我将构建一个查询,该查询将获取我感兴趣的所有文档,并对要更改的字段进行更新。Mongo中的更新仅影响第一个文档,并且要更新由查询产生的所有文档,则需要使用“多”更新标志。示例代码如下...
var collection = db.GetCollection("Foo");
var query = Query.GTE("No", 1); // need to construct in such a way that it will give all 20K //docs.
var update = Update.Set("timestamp", datetime.UtcNow);
collection.Update(query, update, UpdateFlags.Multi);