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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。