MongoDB學習記錄(四) - MongoDB的"增查改刪"操做之"改"

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

相關文章
相關標籤/搜索