Hướng dẫn how do you update an array of objects in mongodb using node js? - làm thế nào để bạn cập nhật một mảng các đối tượng trong mongodb bằng cách sử dụng nút js?
Tài liệu về nhà → node.js → Node.js Show Trên trang này
Trong hướng dẫn này, bạn có thể tìm hiểu cách sử dụng các toán tử cập nhật mảng sau để sửa đổi một mảng được nhúng trong tài liệu:
Xem Hướng dẫn Máy chủ MongoDB trên các toán tử cập nhật để biết danh sách đầy đủ.Update Operators for a complete list. Các ví dụ trong hướng dẫn này sử dụng các tài liệu mẫu sau từ bộ sưu tập 5. Bộ sưu tập chứa các tài liệu mô tả khách hàng và đơn đặt hàng pizza của họ là các phần tử mảng trong trường gọi là 6.
Bạn có thể chỉ định các phần tử mảng nào để cập nhật bằng toán tử vị trí. Các toán tử vị trí có thể chỉ định các phần tử đầu tiên, tất cả hoặc một số mảng nhất định để cập nhật. Để chỉ định các phần tử trong một mảng với các toán tử vị trí, hãy sử dụng ký hiệu DOT. Ký hiệu DOT là một cú pháp truy cập thuộc tính để điều hướng các đối tượng BSON. Để tìm hiểu thêm, xem ký hiệu chấm.dot notation. Dot notation is a property access syntax for navigating BSON objects. To learn more, see dot notation. Để cập nhật phần tử mảng đầu tiên của mỗi tài liệu phù hợp với truy vấn của bạn, hãy sử dụng toán tử vị trí 2.Toán tử vị trí 2 tham chiếu mảng phù hợp với truy vấn. Bạn không thể sử dụng toán tử này để tham khảo một mảng lồng nhau. Đối với các trường hợp bạn muốn truy cập một mảng lồng nhau, hãy sử dụng toán tử vị trí được lọc.filtered positional operator.Quan trọngKhông sử dụng toán tử 2 trong cuộc gọi 0 vì trình điều khiển coi 2 làm tên trường trong tài liệu chèn.Đoạn mã sau đây cho thấy cách cập nhật kích thước của mục đặt hàng pizza đầu tiên lên "cực lớn" cho khách hàng tên là Steve tôm hùm.
Truy vấn khớp với tất cả các tài liệu có chứa một phần tử được nhúng trong mảng 6 có chứa giá trị 3 trong trường 4. 5 chỉ định hoạt động cập nhật để đặt khớp phần tử mảng đầu tiên trong 6 thành "cực lớn".Sau khi bạn chạy phương thức cập nhật, tài liệu khách hàng của bạn cho Steve tôm hùm giống như sau:
Lưu ý rằng chúng tôi đã bao gồm cả hai trường 7 và 8 trong truy vấn để khớp với mảng trong đó chúng tôi áp dụng toán tử 2. Nếu chúng tôi bỏ qua trường 8 từ truy vấn và chỉ định toán tử 2 trong bản cập nhật của chúng tôi, chúng tôi sẽ gặp phải lỗi sau:
Để thực hiện cập nhật trên tất cả các phần tử mảng của mỗi tài liệu phù hợp với truy vấn của bạn, hãy sử dụng tất cả các toán tử vị trí 3.Đoạn mã sau đây thêm "mozzarella mới" vào toppings của tất cả các mục đặt hàng của Popeye.
Sau khi bạn chạy phương thức cập nhật, tài liệu khách hàng của bạn cho Popeye giống như sau:
Để thực hiện bản cập nhật trên tất cả các phần tử mảng được nhúng của từng tài liệu phù hợp với truy vấn của bạn, hãy sử dụng toán tử vị trí được lọc 4.Toán tử vị trí được lọc 4 chỉ định các phần tử mảng phù hợp trong tài liệu cập nhật. Để xác định các phần tử mảng nào phù hợp, hãy ghép nối toán tử này với 5 trong một đối tượng 6.Thuật ngữ 5 là một giá trị giữ chỗ mà bạn gán thể hiện một phần tử của tên trường mảng có tiền tố nó. Giá trị này phải bắt đầu bằng chữ thường và chỉ chứa các ký tự chữ và số.Để thêm topping "tỏi" vào một số mục đặt hàng nhất định, hãy định dạng tài liệu cập nhật của bạn như sau:
Tài liệu cập nhật này chỉ định những điều sau:
Tiếp theo, thêm các tiêu chí phù hợp trong đối tượng 5 của bạn trong tham số 6 của hoạt động cập nhật của bạn. Đối tượng này là một mảng các truy vấn chỉ định các thành phần mảng nào sẽ bao gồm trong bản cập nhật. Để thêm topping "tỏi" để đặt hàng các mục thuộc loại "pizza" và "kích thước lớn", hãy vượt qua 5 sau đây:
Đoạn trích sau đây hiển thị phương thức cập nhật hoàn chỉnh:
Sau khi bạn chạy phương thức, tài liệu khách hàng của bạn cho Steve tôm hùm giống như sau:
Giả sử tôm hùm Steve muốn điều chỉnh lệnh của họ để thêm "salami" như một topping cho tất cả các loại pizza có pepperoni. Để thực hiện cập nhật, hãy sử dụng toán tử vị trí được lọc như sau: 0Sau khi bạn chạy phương thức cập nhật, tài liệu khách hàng của bạn cho Steve tôm hùm giống như sau: 1Làm thế nào để bạn cập nhật một mảng các đối tượng trong nút JS MongoDB?Để thực hiện bản cập nhật trên tất cả các phần tử mảng được nhúng của từng tài liệu phù hợp với truy vấn của bạn, hãy sử dụng toán tử vị trí được lọc $ []. Toán tử vị trí được lọc $ [] chỉ định các phần tử mảng phù hợp trong tài liệu cập nhật.use the filtered positional operator $[
Làm cách nào để cập nhật một mảng trong MongoDB?Tìm hiểu cách cập nhật các trường mảng trong các tài liệu trong các bộ sưu tập MongoDB.Bạn có thể sử dụng các phương thức updateOne () hoặc updatemany () để thêm, cập nhật hoặc xóa các phần tử mảng dựa trên các tiêu chí được chỉ định.Nên sử dụng phương thức Updatemany () để cập nhật nhiều mảng trong một bộ sưu tập.use the updateOne() or updateMany() methods to add, update, or remove array elements based on the specified criteria. It is recommended to use the updateMany() method to update multiple arrays in a collection.
Làm thế nào để bạn cập nhật dữ liệu trong MongoDB bằng Node JS Express JS?Bạn có thể cập nhật một bản ghi hoặc tài liệu vì nó được gọi trong MongoDB, bằng cách sử dụng phương thức UpdateDe ().Tham số đầu tiên của phương thức updateDe () là đối tượng truy vấn xác định tài liệu nào sẽ cập nhật.Lưu ý: Nếu truy vấn tìm thấy nhiều hơn một bản ghi, chỉ có lần xuất hiện đầu tiên được cập nhật.by using the updateOne() method. The first parameter of the updateOne() method is a query object defining which document to update. Note: If the query finds more than one record, only the first occurrence is updated.
Làm thế nào để bạn cập nhật một đối tượng trong MongoDB?Shell MongoDB cung cấp các phương pháp sau để cập nhật các tài liệu trong một bộ sưu tập:.. Để cập nhật một tài liệu duy nhất, hãy sử dụng DB.thu thập.Cập nhật (). Để cập nhật nhiều tài liệu, hãy sử dụng DB.thu thập.Updatemany (). Để thay thế một tài liệu, sử dụng DB.thu thập.thay thế (). |