MongoDB Update()方法用法示例介绍

2021年5月3日16:37:37 发表评论 862 次浏览

update()方法更新MongoDB集合中现有文档中的值。更新文档时, _id字段的值保持不变。默认情况下, db.collection.update()方法更新单个文档。包括选项multi:true以更新与给定查询匹配的所有文档。此方法可用于文档的单个更新以及多个文档。

语法如下:

db.COLLECTION_NAME.update({SELECTION_CRITERIA}, {$set:{UPDATED_DATA}}, {
     upsert: <boolean>, multi: <boolean>, writeConcern: <document>, collation: <document>, arrayFilters: [ <filterdocument1>, ... ], hint:  <document|string>        
   })

参数:

  • 第一个参数是"文档"形式的"较旧"值。文档是由文件和值对创建的结构, 类似于JSON对象。
  • 第二个参数必须包含一个$ set关键字以更新以下指定的文档值。
  • 第三个参数是可选的。

可选参数:

  • Upsert:此参数的默认值为false。如果为true, 则当update方法中没有文档与给定条件匹配时, 它将在集合中创建一个新文档。
  • 多:此参数的默认值为false。如果为true, 则更新方法将更新所有符合查询条件的文档。否则, 它将仅更新一个文档。
  • writeConcern:仅当你不想使用默认写关注点时才使用它。此参数的类型是文档。
  • 排序规则:它指定使用归类进行操作。它允许用户为字符串比较指定特定于语言的规则, 例如字母大写和重音符号规则。此参数的类型是文档。
  • arrayFilters:它是过滤器文档的数组, 指示要针对数组字段上的更新操作修改哪些数组元素。此参数的类型是数组。
  • 暗示:它是一个文档或字段, 用于指定用于支持过滤器的索引。它可以使用索引规范文档或索引名称字符串, 并且如果你指定不存在的索引, 则它将给出错误。

例子:

在以下示例中, 我们正在使用:

数据库:gfg收藏:学生文档:三个文档包含学生的姓名和年龄

MongoDB – Update()方法1
  • 将其名称关键字具有avi值的文档更新为hello world。
db.student.update({name:"avi"}, {$set:{name:"helloword"}})

在此, 第一个参数是要更改其值的文档{name:" avi"}, 第二个参数是set关键字意味着用旧的键值设置(更新)以下匹配的键值。

注意:键的值必须与集合中定义的数据类型相同。

MongoDB – Update()方法2
  • 将名称为prachi的文档的年龄更新为20。
db.student.update({name:"prachi"}, {$set:{age:20}}

在此, 第一个参数是要更改其值的文档{name:" prachi"}, 第二个参数是set关键字意味着将age字段的值设置(更新)为20。

MongoDB – Update()方法3

木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: