更新文檔主要有如下幾種方法: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對組成,不能包含更新運算符方法