更新文档主要有如下几种方法:mongodb
db.collection.updateOne(filter, update, options)code
db.collection.updateMany(filter, update, options)文档
db.collection.replaceOne(filter, update, options)get
另外MongoDB提供了更新运算符,更加方便咱们进行文档的更新。其使用方法以下:it
{ update operator: { field1: value1, ... }, update operator: { field2: value2, ... }, ... }
其中有一些更新运算符,好比$set,当它所设置的字段不存在时,将会新增这个字段io
db.collection.updateOne( { item: "paper"}, { $set: {"size.uom": "cm", status: "P"}, $currentData: {lastModified: true} } )
以上方法将会更新匹配到的第一个item字段值为"paper"的文档,$set运算符会将size.uom字段的值设置为"cm",status字段的值设置为"P"。$currentData运算符会将lastModified字段设置为当前时间,若是这个字段不存在,将新增这个字段ast
若是将上述方法中的updateOne()改成updateMany(),则能够更新匹配到的全部文档date
若是想替换一个文档,用于替换的文档(即第二个参数)必须全有field: value对组成,不能包含更新运算符方法