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对组成,不能包含更新运算符方法

相关文章
相关标签/搜索