当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


MongoDB Update()用法及代码示例


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:仅当您不想使用默认写关注点时才使用它。此参数的类型是文档。
  • 排序规则:它指定使用归类进行操作。它允许用户为字符串比较指定language-specific规则,例如字母大写和重音符号规则。此参数的类型是文档。
  • arrayFilters:它是过滤器文档的数组,指示要针对数组字段上的更新操作修改哪些数组元素。此参数的类型是数组。
  • 暗示:它是一个文档或字段,用于指定用于支持过滤器的索引。它可以使用索引规范文档或索引名称字符串,并且如果您指定不存在的索引,那么它将给出错误。

例子:



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

  • Database:gfg
  • Collections:student
  • Document: Three documents contains name and the age of the students

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

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

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

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

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

相关用法


注:本文由纯净天空筛选整理自zack_aayush大神的英文原创作品 MongoDB – Update() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。