Trong MongoDB, phương thức update () được sử dụng để cập nhật hoặc sửa đổi các Document hiện có của một Collection.
Các bài viết liên quan:
Giới thiệu về cập nhật Document trong MongoDB
Cập nhật Document trong MongoDB là một hoạt động quan trọng trong việc thay đổi nội dung của một tài liệu trong cơ sở dữ liệu MongoDB. MongoDB cung cấp các lệnh và toán tử để thực hiện các thay đổi này một cách linh hoạt và hiệu quả.
Khi cần cập nhật một Document trong MongoDB, ta có thể sử dụng lệnh update()
hoặc findOneAndUpdate()
để thực hiện việc này. Cú pháp cơ bản của lệnh update()
như sau:
db.collection.update( <query>, <update>, { <options> } )
Trong đó:
<query>
là điều kiện để xác định Document cần cập nhật.<update>
là phần mô tả các thay đổi cần áp dụng lên Document.<options>
là tùy chọn cho việc cập nhật, ví dụ như multi: true để cập nhật tất cả các Document khớp với điều kiện.
Có nhiều toán tử cập nhật mà MongoDB cung cấp, ví dụ như $set
, $unset
, $inc
, $push
, $pull
, và nhiều toán tử khác. Mỗi toán tử có chức năng và cú pháp riêng để thực hiện các thay đổi mong muốn.
Việc cập nhật Document trong MongoDB cho phép thay đổi giá trị của các trường, thêm hoặc xóa các trường, thực hiện các phép tính số học và thao tác trên mảng, và nhiều hơn nữa.
Bằng cách sử dụng các lệnh và toán tử cập nhật của MongoDB, chúng ta có thể linh hoạt và hiệu quả trong việc cập nhật nội dung của các Document trong cơ sở dữ liệu MongoDB.
Xem thêm Delete documents trong MongoDB
Cú pháp và cách sử dụng lệnh cập nhật trong MongoDB
Trong MongoDB, để cập nhật Document, chúng ta có thể sử dụng lệnh update()
hoặc findOneAndUpdate()
. Dưới đây là cú pháp và cách sử dụng cả hai lệnh:
- Cú pháp và cách sử dụng lệnh
update()
:
db.collection.update( <query>, <update>, { <options> } )
<query>
: Điều kiện để xác định Document cần cập nhật.<update>
: Mô tả các thay đổi cần áp dụng lên Document.<options>
: Tùy chọn cho việc cập nhật, ví dụ nhưmulti: true
để cập nhật tất cả các Document khớp với điều kiện.
Ví dụ, để cập nhật giá trị của trường age
thành 30
cho tất cả các Document có name
là “John”, ta có thể sử dụng lệnh sau:
db.collection.update( { name: "John" }, { $set: { age: 30 } }, { multi: true } )
- Cú pháp và cách sử dụng lệnh
findOneAndUpdate()
:
db.collection.findOneAndUpdate( <filter>, <update>, { <options> } )
<filter>
: Điều kiện để xác định Document cần cập nhật.<update>
: Mô tả các thay đổi cần áp dụng lên Document.<options>
: Tùy chọn cho việc cập nhật.
Ví dụ, để tìm và cập nhật Document đầu tiên có name
là “John”, thay đổi giá trị của trường age
thành 30
, ta có thể sử dụng lệnh sau:
db.collection.findOneAndUpdate( { name: "John" }, { $set: { age: 30 } } )
Lưu ý rằng cú pháp và tùy chọn có thể khác nhau tùy thuộc vào phiên bản và API của MongoDB mà bạn đang sử dụng. Hãy tham khảo tài liệu chính thức của MongoDB để biết thêm thông tin chi tiết về cú pháp và các tùy chọn khác.
Xem thêm Truy vấn Document trong MongoDB
Các toán tử cập nhật phổ biến trong MongoDB
MongoDB cung cấp một số toán tử cập nhật phổ biến để thực hiện các thay đổi trên Document. Dưới đây là một số toán tử cập nhật phổ biến trong MongoDB:
$set
: Dùng để cập nhật giá trị của một trường hoặc thêm một trường mới vào Document. Ví dụ:{ $set: { field: value } }
.$unset
: Dùng để xóa trường khỏi Document. Ví dụ:{ $unset: { field: "" } }
.$inc
: Dùng để tăng giá trị của một trường số. Ví dụ:{ $inc: { field: value } }
.$push
: Dùng để thêm một phần tử vào một mảng. Ví dụ:{ $push: { arrayField: value } }
.$pop
: Dùng để xóa phần tử cuối cùng hoặc đầu tiên của một mảng. Ví dụ:{ $pop: { arrayField: 1 } }
(xóa phần tử cuối cùng) hoặc{ $pop: { arrayField: -1 } }
(xóa phần tử đầu tiên).$pull
: Dùng để xóa phần tử khỏi một mảng. Ví dụ:{ $pull: { arrayField: value } }
.$addToSet
: Dùng để thêm một phần tử vào một mảng chỉ khi phần tử đó chưa tồn tại trong mảng. Ví dụ:{ $addToSet: { arrayField: value } }
.$rename
: Dùng để đổi tên trường trong Document. Ví dụ:{ $rename: { oldField: newField } }
.$currentDate
: Dùng để cập nhật giá trị của một trường với giá trị hiện tại hoặc thời gian hiện tại. Ví dụ:{ $currentDate: { field: true } }
hoặc{ $currentDate: { field: { $type: "date" } } }
.
Đây chỉ là một số toán tử cập nhật phổ biến, và MongoDB cung cấp nhiều toán tử khác nữa để thực hiện các thay đổi phức tạp hơn trên Document. Bạn có thể tìm hiểu thêm về các toán tử cập nhật trong tài liệu chính thức của MongoDB để áp dụng chúng vào việc cập nhật Document.
Xem thêm Shell Collection trong MongoDB