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。
相关用法
- MongoDB skip()用法及代码示例
- MongoDB limit()用法及代码示例
- MongoDB FindAndModify()用法及代码示例
- MongoDB sort()用法及代码示例
- MongoDB FindOne()用法及代码示例
- MongoDB countDocuments()用法及代码示例
- MongoDB getIndexes()用法及代码示例
- MongoDB Distinct()用法及代码示例
- MongoDB dropIndex()用法及代码示例
- MongoDB findOneAndDelete()用法及代码示例
- Mongoose update()用法及代码示例
注:本文由纯净天空筛选整理自zack_aayush大神的英文原创作品 MongoDB – Update() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。