Kéo hoạt động như thế nào trong MongoDB?
Sử dụng 8 kết hợp với một phương pháp như WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })0 để cập nhật tài liệu được chỉ định với sự thay đổi Show Ví dụGiả sử chúng ta có một bộ sưu tập tên là WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })1 với các tài liệu sau { "_id" : 1, "prod" : "Bat", "sizes" : [ "S", "M", "XL", "XXL" ] } { "_id" : 2, "prod" : "Hat", "sizes" : [ "S", "L", "XL" ] } { "_id" : 3, "prod" : "Cap", "sizes" : [ "XS", "S", "M", "L", "XL" ] } Chúng ta có thể xóa một phần tử khỏi mảng trong tài liệu 1 như thế này
đầu ra WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 }) Thông báo đó cho chúng tôi biết rằng một tài liệu phù hợp và một (i. e. cùng một tài liệu) đã được sửa đổi Bây giờ chúng ta hãy xem bộ sưu tập
Kết quả { "_id" : 1, "prod" : "Bat", "sizes" : [ "S", "M", "XL" ] } { "_id" : 2, "prod" : "Hat", "sizes" : [ "S", "L", "XL" ] } { "_id" : 3, "prod" : "Cap", "sizes" : [ "XS", "S", "M", "L", "XL" ] } Chúng ta có thể thấy rằng mảng trong tài liệu 1 đã bị xóa giá trị WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })2 theo quy định Xóa nhiều giá trịChúng ta có thể sử dụng toán tử WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })3 để chỉ định nhiều giá trị mà chúng ta muốn xóa khỏi mảng Ví dụ WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })0 đầu ra WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 }) Bây giờ hãy kiểm tra lại bộ sưu tập
Kết quả WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })3 Chúng ta có thể thấy rằng hai phần tử được chỉ định đã bị xóa khỏi mảng trong tài liệu 3 Cập nhật tất cả tài liệuBạn có thể thêm WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })4 hoặc sử dụng phương pháp WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })5 để cập nhật tất cả các tài liệu phù hợp với tiêu chí Khi bạn thực hiện việc này, hãy xóa mọi tiêu chí lựa chọn khỏi tài liệu truy vấn đầu tiên (chỉ định (các) tài liệu nào sẽ cập nhật). Nói cách khác, sử dụng một tài liệu trống làm đối số đầu tiên cho phương thức WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })6 (hoặc WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })7) Ví dụ WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })8 đầu ra 0Trong trường hợp này, chúng ta có thể thấy rằng ba tài liệu phù hợp (vì có ba tài liệu trong bộ sưu tập), nhưng chỉ có hai tài liệu được sửa đổi (vì chỉ có hai tài liệu có giá trị WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })8 trong mảng WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })9) Và kiểm tra lại bộ sưu tập
Kết quả 2Chúng ta có thể thấy rằng tất cả các phiên bản của WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })8 đã bị xóa khỏi tất cả các tài liệu trong bộ sưu tập Mảng tài liệuNếu bạn có mảng chứa tài liệu làm thành phần của chúng, bạn có thể xóa bất kỳ tài liệu nào trong số đó bằng cách chỉ định tiêu chí khớp với dữ liệu trong tài liệu Giả sử chúng ta có một bộ sưu tập có tên là các nhà hàng mà các tài liệu sau 3Trong trường hợp này, trường có tên là 1 chứa một mảng tài liệu. Mỗi tài liệu là một đánh giá khác nhau về nhà hàng được đề cậpChúng tôi có thể sử dụng 8 để xóa các đánh giá phù hợp với một tiêu chí nhất địnhVí dụ 4đầu ra 0Thông báo này cho chúng tôi biết rằng ba tài liệu phù hợp với tiêu chí truy vấn (vì chúng tôi đã chọn tất cả tài liệu) và hai tài liệu đã được sửa đổi (vì hai tài liệu phù hợp với tiêu chí 8 của chúng tôi)Hãy kiểm tra lại bộ sưu tập để xem hiệu quả 6Kết quả 7Chúng ta có thể thấy rằng chỉ còn lại các bài đánh giá có xếp hạng từ 4 trở lên. Tất cả các đánh giá dưới 4 đã bị xóa Làm cách nào để lấy nhiều giá trị trong MongoDB?La bàn MongoDB tìm nhiều giá trị. . Nhấp vào nút thả xuống TÙY CHỌN ở bên trái của nút TÌM Và nó cung cấp nhiều tùy chọn khác nhau có thể thực hiện LỌC, DỰ ÁN, SẮP XẾP và THU THẬP Bây giờ, chúng tôi xác định hai truy vấn sau và tìm nhiều giá trị từ các tài liệu theo điều kiện Làm cách nào để lấy dữ liệu từ mảng trong MongoDB?Để tìm kiếm mảng đối tượng trong MongoDB, bạn có thể sử dụng toán tử $elemMatch . Toán tử này cho phép chúng ta tìm kiếm nhiều hơn một thành phần từ một đối tượng mảng.
Làm cách nào để sử dụng $push trong MongoDB?Nếu trường không có trong tài liệu cần cập nhật, $push sẽ thêm trường mảng có giá trị làm thành phần của nó . Nếu trường không phải là một mảng, hoạt động sẽ thất bại. Nếu giá trị là một mảng, $push sẽ thêm toàn bộ mảng dưới dạng một phần tử. Để thêm riêng từng phần tử của giá trị, hãy sử dụng công cụ sửa đổi $each với $push.
Làm cách nào để xóa giá trị khỏi MongoDB?Trình vỏ MongoDB cung cấp các phương thức sau để xóa tài liệu khỏi bộ sưu tập. . Để xóa nhiều tài liệu, hãy sử dụng db. thu thập. xóaMany() Để xóa một tài liệu, hãy sử dụng db. thu thập. xóaOne() |