Mongodb kéo mảng từ mảng
Giả sử tôi có một bộ sưu tập giống như thế này (về cơ bản là một mảng chứa các đối tượng lồng nhau) Show
Tôi muốn xóa tất cả 9 có 0 sau đây. 1 chỉ dành cho 2
Tôi có những thứ sau đây, tuy nhiên nó cũng xóa tất cả các biến thể cho 3 4Bất kỳ ý tưởng về cách tiếp cận này? Trong hướng dẫn MongoDB này, chúng ta sẽ tìm hiểu “MongoDB xóa một phần tử khỏi một mảng”. Chúng tôi sẽ đề cập đến chủ đề này với các hoạt động và ví dụ khác nhau. Đây là những chủ đề sau đây mà chúng ta sẽ đề cập trong hướng dẫn này
Mục lục
Xóa phần tử khỏi mảng trong mongodbMongoDB cung cấp các toán tử sau để xóa phần tử khỏi mảng. Các nhà khai thác là
Bây giờ, chúng ta sẽ tìm hiểu chi tiết tất cả các toán tử này với các ví dụ Toán tử $pull. Toán tử $pull xóa một phần tử khỏi một mảng hiện có khớp với một điều kiện đã chỉ định Giả sử, chúng tôi có một bộ sưu tập được gọi là sản phẩm với các tài liệu sau
Chúng ta có thể xóa một phần tử khỏi mảng bằng truy vấn sau
Ở đây, chúng tôi đã sử dụng phương thức update() và xác định toán tử $pull để xóa phần tử XXL trong đó _id là 1. Sau đó, bạn có thể sử dụng phương thức find() để lấy tất cả các tài liệu
Chúng tôi đã xóa thành công một phần tử khỏi mảng Toán tử $pullAll. Toán tử $pullAll xóa tất cả các phần tử khỏi mảng đã xác định Giả sử, chúng tôi có một bộ sưu tập có tên demo với các tài liệu sau
Bây giờ, hãy sử dụng truy vấn sau để xóa tất cả các giá trị của 8 khỏi mảng trong đó _id là 1
Chúng ta có thể xác minh điều này bằng cách kiểm tra bộ sưu tập bằng phương thức find()
Chúng tôi đã xóa thành công phần tử 8 khỏi mảng trong tài liệu 1 Ghi chú Toán tử $pullAll tương tự như $pull. Sự khác biệt là $pullAll xóa các phần tử khớp với các giá trị được liệt kê. Và, toán tử $pull xóa các giá trị bằng cách chỉ định một truy vấn Toán tử $pop. Toán tử $pop được sử dụng để loại bỏ phần tử đầu tiên hoặc cuối cùng của một mảng. Nó cung cấp giá trị -1 để xóa phần tử đầu tiên và 1 để xóa phần tử cuối cùng của mảng Giả sử, chúng tôi có một bộ sưu tập được gọi là kiểm tra với các tài liệu sau ________số 8Truy vấn sau sẽ loại bỏ phần tử đầu tiên của mảng trong tài liệu 3
Chúng ta có thể xác minh điều này bằng cách kiểm tra bộ sưu tập bằng phương thức find() 0Chúng tôi đã xóa thành công phần tử đầu tiên khỏi mảng trong tài liệu 3
MongoDB xóa một phần tử khỏi mảng theo idTrong chủ đề này, chúng ta sẽ học cách xóa một phần tử khỏi mảng theo id. Ở đây, mảng theo id có nghĩa là loại bỏ một phần tử mảng id cụ thể. Chúng ta sẽ sử dụng toán tử $pull trong phương thức update() để xóa phần tử khỏi mảng. Hãy để chúng tôi hiểu với sự giúp đỡ của một ví dụ Ví dụ Các tài liệu tiếp theo đã được chèn vào bộ sưu tập cửa hàng 1Sau đó, chúng ta sẽ áp dụng truy vấn sau để xóa một phần tử khỏi mảng 0Ở đây, chúng tôi đã chỉ định id 2 vì vậy trong id 2, toán tử $pull sẽ loại bỏ táo và cam khỏi mảng trái cây và loại bỏ cà rốt khỏi mảng rau củ MongoDB xóa một phần tử khỏi mảngChúng ta có thể xác minh điều này bằng cách kiểm tra bộ sưu tập bằng phương thức find() 1Đọc MongoDB tìm tài liệu được chèn lần cuối MongoDB xóa một phần tử khỏi chỉ mục mảngKhông có cách chính xác để kéo hoặc loại bỏ một phần tử theo chỉ số mảng. Đây là một vấn đề mở http. //jira. mongodb. org/duyệt/SERVER-1014 Lỗ hổng đang sử dụng $unset và sau đó là $pull 2Cập nhật. Cách tiếp cận này không phải là nguyên tử và có thể gây ra một số loại điều kiện nếu các máy khách khác đọc và/hoặc ghi giữa hai thao tác. Nếu chúng ta muốn hoạt động là nguyên tử, chúng ta có thể
Nếu bạn sử dụng phương pháp trên để loại bỏ một phần tử mảng theo chỉ mục của nó thì cách này hoạt động Ví dụ Tài liệu sau đây đã được chèn vào bộ sưu tập thông tin 3Bây giờ, chúng ta sẽ áp dụng hai truy vấn để loại bỏ một phần tử mảng theo chỉ số của nó Bước 1. Áp dụng toán tử $unset để đặt giá trị null tại vị trí của “YourIndexValue” 4Hãy để chúng tôi thực hiện truy vấn dưới đây 5Bước 2. Toán tử $pull được sử dụng để lấy giá trị null từ mảng để xóa nó khỏi phần tử mảng 6Hãy để chúng tôi thực hiện truy vấn dưới đây 7Sau đó kiểm tra phần tử mảng “Java” đã bị xóa hay chưa. Truy vấn như sau 8MongoDB xóa một phần tử khỏi chỉ mục mảngNhìn vào kết quả, chúng ta đã loại bỏ thành công phần tử mảng “Java” Đọc thứ tự MongoDB theo ngày MongoDB xóa phần tử cuối cùng khỏi mảngTrong chủ đề này, bạn sẽ học cách xóa phần tử cuối cùng khỏi mảng. Để làm được điều đó, chúng ta sẽ sử dụng toán tử $pop để xóa phần tử cuối cùng khỏi mảng. Nó cung cấp giá trị -1 để xóa phần tử đầu tiên và 1 để xóa phần tử cuối cùng của mảng Vì vậy, ở đây, chúng ta sẽ sử dụng 1 để loại bỏ phần tử cuối cùng của một mảng. Hãy hiểu với sự giúp đỡ của một ví dụ Ví dụ Các tài liệu sau đã được chèn vào bộ sưu tập cửa hàng 9Bây giờ, chúng ta sẽ áp dụng truy vấn dưới đây để xóa phần tử cuối cùng khỏi mảng 0Ở đây, chúng tôi đã áp dụng toán tử $pop với giá trị 1 để xóa phần tử cuối cùng khỏi tài liệu 1 mảng fruit Sau đó, kiểm tra phần tử mảng để lấy tất cả các tài liệu bằng cách sử dụng phương thức find() 1MongoDB xóa phần tử cuối cùng khỏi mảngChúng tôi đã loại bỏ thành công phần tử mảng cuối cùng “nho” khỏi trường trái cây trong tài liệu 1 Đọc MongoDB tìm chuỗi chứa MongoDB xóa một phần tử khỏi một mảng lồng nhauTrong chủ đề này, chúng ta sẽ học cách xóa một phần tử khỏi mảng lồng nhau. Chúng ta sẽ sử dụng toán tử $pull để xóa phần tử khỏi mảng lồng nhau. Hãy để chúng tôi hiểu với sự giúp đỡ của một ví dụ Ví dụ Các tài liệu sau đây đã được đưa vào bộ sưu tập hàng tồn kho 2Bây giờ, chúng ta sẽ áp dụng truy vấn bên dưới để xóa một phần tử khỏi mảng lồng nhau 3Sau đó, lấy tất cả các tài liệu bằng phương thức find() 4MongoDB xóa một phần tử khỏi một mảng lồng nhauChúng tôi đã xóa thành công phần tử khỏi mảng lồng nhau Đọc MongoDB tìm nhiều giá trị MongoDB xóa nhiều phần tử khỏi mảngTrong chủ đề này, bạn sẽ học cách loại bỏ nhiều phần tử khỏi mảng. Chúng ta sẽ sử dụng toán tử $pullAll để loại bỏ nhiều phần tử khỏi mảng. Hãy để chúng tôi hiểu với sự giúp đỡ của một ví dụ Ví dụ Các tài liệu sau đây đã được đưa vào bộ sưu tập sinh viên 5Bây giờ, chúng tôi sẽ áp dụng truy vấn bên dưới để xóa nhiều phần tử khỏi trường thành tích của mảng trong id 1 6MongoDB xóa nhiều phần tử khỏi mảngChúng tôi đã xóa thành công nhiều phần tử khỏi trường đạt được mảng trong đó id là 2 Bạn cũng có thể thích các hướng dẫn MongoDB sau đây
Vì vậy, trong hướng dẫn này, chúng ta đã học “MongoDB xóa một phần tử khỏi mảng” bằng các cách tiếp cận khác nhau với các ví dụ. Đây là những chủ đề sau mà chúng tôi đã đề cập trong hướng dẫn này
Bijay Tôi là Bijay có hơn 15 năm kinh nghiệm trong ngành công nghiệp phần mềm. Trong thời gian này, tôi đã làm việc trên MariaDB và sử dụng nó trong rất nhiều dự án. Hầu hết độc giả của chúng tôi đến từ Hoa Kỳ, Canada, Vương quốc Anh, Úc, New Zealand, v.v. Bạn muốn tìm hiểu MariaDB? . Ngoài ra, tôi là MVP của Microsoft Làm cách nào để lấy dữ liệu từ mảng trong MongoDB?Toán tử $pull xóa khỏi một mảng hiện có tất cả các phiên bản của một giá trị hoặc các giá trị khớp với một điều kiện đã chỉ định . Toán tử $pull có dạng. { $kéo. {
Làm cách nào để lấy nhiều giá trị trong MongoDB?Truy vấ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 để khớp giá trị mảng trong MongoDB?Toán tử $elemMatch khớp với các tài liệu chứa trường mảng có ít nhất một phần tử khớp với tất cả các tiêu chí truy vấn đã chỉ định. Nếu bạn chỉ xác định một điều kiện
Làm cách nào để làm việc với mảng trong MongoDB?Làm việc với mảng trong MongoDB . Giới thiệu. . Tạo và truy vấn tài liệu. . Thêm một phần tử mảng. . Cập nhật một phần tử mảng. . Xóa một phần tử mảng. . Thêm một Trường mới cho tất cả các Đối tượng trong Mảng. . Cập nhật một phần tử mảng cụ thể dựa trên một điều kiện. . Phần kết luận |