📜  MongoDB – Update() 方法

📅  最后修改于: 2022-05-13 01:56:58.441000             🧑  作者: Mango

MongoDB – Update() 方法

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

句法:

db.COLLECTION_NAME.update({SELECTION_CRITERIA}, {$set:{UPDATED_DATA}}, {
     upsert: ,
     multi: ,
     writeConcern: ,
     collation: ,
     arrayFilters: [ , ... ],
     hint:          
   })

参数:

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

可选参数:

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

例子:



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

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

这里,第一个参数是要更改其值的文档{name:”avi”},第二个参数是 set keyword 表示将以下匹配的键值设置(更新)为旧的键值。

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

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

这里,第一个参数是要更改值的文档{name:”prachi”},第二个参数是set关键字,表示将age字段的值设置(更新)为20。