Phương thức update[] cập nhật các giá trị trong tài liệu hiện có trong bộ sưu tập của MongoDB. Khi bạn cập nhật tài liệu của mình, giá trị của trường _id không thay đổi. Theo mặc định, db. thu thập. phương thức update[] cập nhật một tài liệu. Bao gồm tùy chọn đa. true để cập nhật tất cả các tài liệu khớp với truy vấn đã cho. Phương pháp này có thể được sử dụng cho một lần cập nhật tài liệu cũng như nhiều tài liệu
cú pháp
db.COLLECTION_NAME.update[{SELECTION_CRITERIA}, {$set:{UPDATED_DATA}}, { upsert: , multi: , writeConcern: , collation: , arrayFilters: [ , .. ], hint: }]
Thông số
- Tham số đầu tiên là giá trị Cũ hơn ở dạng Tài liệu. Tài liệu là một cấu trúc được tạo từ các cặp tệp và giá trị, tương tự như các đối tượng JSON
- Tham số thứ hai phải chứa từ khóa $set để cập nhật giá trị tài liệu chỉ định sau
- Tham số thứ ba là tùy chọn
Thông số tùy chọn
- Upsert. Giá trị mặc định của tham số này là sai. Khi đúng, nó sẽ tạo một tài liệu mới trong bộ sưu tập khi không có tài liệu nào khớp với điều kiện đã cho trong phương thức cập nhật
- đa. Giá trị mặc định của tham số này là sai. Khi đúng, phương thức cập nhật sẽ cập nhật tất cả các tài liệu đáp ứng điều kiện truy vấn. Nếu không, nó sẽ chỉ cập nhật một tài liệu
- viếtQuan tâm. Nó chỉ được sử dụng khi bạn không muốn sử dụng chế độ ghi mặc định. Loại tham số này là một tài liệu
- đối chiếu. Nó chỉ định việc sử dụng đối chiếu cho các hoạt động. Nó cho phép người dùng chỉ định các quy tắc dành riêng cho ngôn ngữ để so sánh chuỗi như quy tắc cho chữ cái và dấu trọng âm. Loại tham số này là một tài liệu
- mảngFilters. Nó là một mảng các tài liệu bộ lọc cho biết phần tử mảng nào cần sửa đổi cho thao tác cập nhật trên trường mảng. Loại tham số này là một mảng
- gợi ý. Đó là một tài liệu hoặc trường chỉ định chỉ mục sẽ sử dụng để hỗ trợ bộ lọc. Nó có thể lấy một tài liệu đặc tả chỉ mục hoặc chuỗi tên chỉ mục và nếu bạn chỉ định một chỉ mục không tồn tại thì nó sẽ báo lỗi
ví dụ
Trong các ví dụ sau, chúng tôi đang làm việc với
- cơ sở dữ liệu. gfg
- bộ sưu tập. sinh viên
- Tài liệu. Ba tài liệu chứa tên và tuổi của học sinh
- Cập nhật tên của tài liệu có khóa tên có giá trị avi thành hello world
db.student.update[{name:"avi"},{$set:{name:"helloword"}}]
Ở đây, tham số đầu tiên là tài liệu có giá trị được thay đổi {tên. ”prachi”} và tham số thứ hai được đặt từ khóa có nghĩa là đặt [cập nhật] giá trị của trường tuổi thành 20
Các phương thức update[] và save[] của MongoDB được sử dụng để cập nhật tài liệu vào một bộ sưu tập. Phương thức update[] cập nhật các giá trị trong tài liệu hiện có trong khi phương thức save[] thay thế tài liệu hiện có bằng tài liệu được truyền trong phương thức save[]
Phương thức cập nhật MongoDB[]
Phương thức update[] cập nhật các giá trị trong tài liệu hiện có
cú pháp
Cú pháp cơ bản của phương thức update[] như sau -
>db.COLLECTION_NAME.update[SELECTION_CRITERIA, UPDATED_DATA]
Ví dụ
Hãy xem xét bộ sưu tập mycol có dữ liệu sau
{ "_id" : ObjectId[5983548781331adf45ec5], "title":"MongoDB Overview"} { "_id" : ObjectId[5983548781331adf45ec6], "title":"NoSQL Overview"} { "_id" : ObjectId[5983548781331adf45ec7], "title":"Tutorials Point Overview"}
Ví dụ sau sẽ đặt tiêu đề mới 'Hướng dẫn MongoDB mới' cho các tài liệu có tiêu đề là 'Tổng quan về MongoDB'
>db.mycol.update[{'title':'MongoDB Overview'},{$set:{'title':'New MongoDB Tutorial'}}] WriteResult[{ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 }] >db.mycol.find[] { "_id" : ObjectId[5983548781331adf45ec5], "title":"New MongoDB Tutorial"} { "_id" : ObjectId[5983548781331adf45ec6], "title":"NoSQL Overview"} { "_id" : ObjectId[5983548781331adf45ec7], "title":"Tutorials Point Overview"} >
Theo mặc định, MongoDB sẽ chỉ cập nhật một tài liệu duy nhất. Để cập nhật nhiều tài liệu, bạn cần đặt tham số 'multi' thành true
>db.mycol.update[{'title':'MongoDB Overview'}, {$set:{'title':'New MongoDB Tutorial'}},{multi:true}]
Phương thức Lưu [] MongoDB
Phương thức save[] thay thế tài liệu hiện có bằng tài liệu mới được truyền vào phương thức save[]
cú pháp
Cú pháp cơ bản của phương thức save[] trong MongoDB được hiển thị bên dưới -
>db.COLLECTION_NAME.save[{_id:ObjectId[],NEW_DATA}]
Ví dụ
Ví dụ sau sẽ thay thế tài liệu bằng _id '5983548781331adf45ec5'
>db.mycol.save[ { "_id" : ObjectId["507f191e810c19729de860ea"], "title":"Tutorials Point New Topic", "by":"Tutorials Point" } ] WriteResult[{ "nMatched" : 0, "nUpserted" : 1, "nModified" : 0, "_id" : ObjectId["507f191e810c19729de860ea"] }] >db.mycol.find[] { "_id" : ObjectId["507f191e810c19729de860e6"], "title":"Tutorials Point New Topic", "by":"Tutorials Point"} { "_id" : ObjectId["507f191e810c19729de860e6"], "title":"NoSQL Overview"} { "_id" : ObjectId["507f191e810c19729de860e6"], "title":"Tutorials Point Overview"} >
Phương thức findOneAndUpdate[] của MongoDB
Phương thức findOneAndUpdate[] cập nhật các giá trị trong tài liệu hiện có
cú pháp
Cú pháp cơ bản của phương thức findOneAndUpdate[] như sau -
________số 8Ví dụ
Giả sử chúng ta đã tạo một bộ sưu tập có tên empDetails và chèn ba tài liệu vào đó như hình bên dưới -
> db.empDetails.insertMany[ [ { First_Name: "Radhika", Last_Name: "Sharma", Age: "26", e_mail: "radhika_sharma.123@gmail.com", phone: "9000012345" }, { First_Name: "Rachel", Last_Name: "Christopher", Age: "27", e_mail: "Rachel_Christopher.123@gmail.com", phone: "9000054321" }, { First_Name: "Fathima", Last_Name: "Sheik", Age: "24", e_mail: "Fathima_Sheik.123@gmail.com", phone: "9000054321" } ] ]
Ví dụ sau cập nhật giá trị tuổi và email của tài liệu có tên 'Radhika'
db.student.update[{name:"avi"},{$set:{name:"helloword"}}]0
Phương thức cập nhật MongoDBOne[]
Phương pháp này cập nhật một tài liệu phù hợp với bộ lọc đã cho
cú pháp
Cú pháp cơ bản của phương thức updateOne[] như sau -
db.student.update[{name:"avi"},{$set:{name:"helloword"}}]1
Ví dụ
{ "_id" : ObjectId[5983548781331adf45ec5], "title":"MongoDB Overview"} { "_id" : ObjectId[5983548781331adf45ec6], "title":"NoSQL Overview"} { "_id" : ObjectId[5983548781331adf45ec7], "title":"Tutorials Point Overview"}0
Phương thức updateMany[] của MongoDB
Phương thức updateMany[] cập nhật tất cả các tài liệu khớp với bộ lọc đã cho
cú pháp
Cú pháp cơ bản của phương thức updateMany[] như sau -
{ "_id" : ObjectId[5983548781331adf45ec5], "title":"MongoDB Overview"} { "_id" : ObjectId[5983548781331adf45ec6], "title":"NoSQL Overview"} { "_id" : ObjectId[5983548781331adf45ec7], "title":"Tutorials Point Overview"}1
Ví dụ
{ "_id" : ObjectId[5983548781331adf45ec5], "title":"MongoDB Overview"} { "_id" : ObjectId[5983548781331adf45ec6], "title":"NoSQL Overview"} { "_id" : ObjectId[5983548781331adf45ec7], "title":"Tutorials Point Overview"}2
Bạn có thể thấy các giá trị được cập nhật nếu bạn truy xuất nội dung của tài liệu bằng phương thức find như bên dưới -