Cập nhật mongosh
MongoDB
Cập nhật tài liệu
Để cập nhật một tài liệu hiện có, chúng ta có thể sử dụng các phương thức updateOne()
hoặc updateMany()
.
Tham số đầu tiên là một đối tượng truy vấn để xác định tài liệu nào sẽ được cập nhật.
Tham số thứ hai là một đối tượng xác định dữ liệu được cập nhật.
updateOne()
Phương thức updateOne()
sẽ cập nhật tài liệu đầu tiên được tìm thấy phù hợp với truy vấn được cung cấp.
Hãy cùng xem số lượt "like" cho bài viết có tiêu đề "Bài viết Tiêu đề 1" là bao nhiêu:
Bây giờ, hãy cập nhật số lượt "thích" trên bài đăng này lên 2. Để thực hiện việc này, chúng ta cần sử dụng toán tử $set
.
Kiểm tra lại tài liệu và bạn sẽ thấy nút "like" đã được cập nhật.
Chèn nếu không tìm thấy
Nếu bạn muốn chèn tài liệu nếu không tìm thấy, bạn có thể sử dụng tùy chọn upsert
.
Ví dụ
Cập nhật tài liệu, nhưng nếu không tìm thấy hãy chèn nó:
db.posts.updateOne(
{ title: "Post Title 5" },
{
$set:
{
title: "Post Title 5",
body: "Body of post.",
category: "Event",
likes: 5,
tags: ["news", "events"],
date: Date()
}
},
{ upsert: true }
)
Hãy tự mình thử » updateMany()
Phương thức updateMany()
sẽ cập nhật tất cả tài liệu phù hợp với truy vấn được cung cấp.
Ví dụ
Cập nhật likes
trên tất cả tài liệu lên 1. Để làm điều này, chúng tôi sẽ sử dụng toán tử $inc
(tăng):
db.posts.updateMany({}, { $inc: { likes: 1 } })
Hãy tự mình thử »Bây giờ hãy kiểm tra lượt thích trong tất cả các tài liệu và bạn sẽ thấy rằng tất cả chúng đều đã tăng thêm 1.