Toán tử
db.products.update[
{ _id: 1 },
{ $pull: { sizes: "XXL" } }
]
6 loại bỏ 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ỉ địnhGiả sử chúng ta có một bộ sưu tập tên là
db.products.update[
{ _id: 1 },
{ $pull: { sizes: "XXL" } }
]
7 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
db.products.update[
{ _id: 1 },
{ $pull: { sizes: "XXL" } }
]
Bây giờ khi chúng tôi kiểm tra bộ sưu tập, chúng tôi có thể thấy rằng
db.products.update[
{ _id: 1 },
{ $pull: { sizes: "XXL" } }
]
8 đã bị xóa khỏi tài liệu 1 theo quy địnhdb.products.find[]
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" ] }
Toán tử db.products.update[
{ _id: 1 },
{ $pull: { sizes: "XXL" } }
]
3
db.products.update[
{ _id: 1 },
{ $pull: { sizes: "XXL" } }
]
Toán tử
db.products.find[]
0 xóa tất cả các trường hợp của các giá trị đã chỉ định khỏi mảngGiả sử chúng ta có một bộ sưu tập với các tài liệu sau
{ "_id" : 1, "bar" : [ 1, 7, 2, 3, 8, 7, 1 ] } { "_id" : 2, "bar" : [ 0, 1, 8, 17, 18, 8 ] } { "_id" : 3, "bar" : [ 15, 11, 8, 0, 1, 3 ] }
Và chúng tôi muốn xóa tất cả các giá trị của
db.products.find[]
1 khỏi mảng trong tài liệu 1Chung ta co thể lam được việc nay
db.products.update[
{ _id: 1 },
{ $pull: { sizes: "XXL" } }
]
1Điều này loại bỏ cả hai lần xuất hiện của 7 khỏi mảng trong tài liệu 1
Chúng tôi có thể xác minh điều này bằng cách kiểm tra bộ sưu tập
db.products.update[
{ _id: 1 },
{ $pull: { sizes: "XXL" } }
]
2Kết quả
db.products.update[
{ _id: 1 },
{ $pull: { sizes: "XXL" } }
]
3Chúng ta có thể thấy rằng mảng trong tài liệu 1 đã bị xóa tất cả các giá trị
db.products.find[]
1 theo quy địnhMặc dù
db.products.update[
{ _id: 1 },
{ $pull: { sizes: "XXL" } }
]
3 tương tự như db.products.update[
{ _id: 1 },
{ $pull: { sizes: "XXL" } }
]
2 nhưng điểm khác biệt là db.products.update[
{ _id: 1 },
{ $pull: { sizes: "XXL" } }
]
3 xóa các phần tử khớp với các giá trị được liệt kê. Điều này không giống như db.products.update[
{ _id: 1 },
{ $pull: { sizes: "XXL" } }
]
2, nơi bạn loại bỏ các giá trị bằng cách chỉ định một truy vấn Cú pháp trên sẽ đặt một giá trị null tại vị trí của 'yourIndexValue'. Sau đó, bạn cần kéo giá trị null từ trường mảng để xóa khỏi phần tử mảng
Bước thứ hai như sau -
db.products.update[
{ _id: 1 },
{ $pull: { sizes: "XXL" } }
]
9Để thực hiện cú pháp, chúng ta hãy tạo một bộ sưu tập với tài liệu. Truy vấn để tạo một bộ sưu tập với một tài liệu như sau -
Để xóa phần tử mảng theo chỉ mục của nó trong MongoDB, bạn có thể sử dụng toán tử $unset và $pull. Có hai bước để loại bỏ các phần tử mảng khỏi một mảng. Cú pháp cho giống như 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" ] }0
Để hiểu cú pháp trên, chúng ta hãy tạo một bộ sưu tập với tài liệu. Truy vấn để tạo một bộ sưu tập với tài liệu như 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" ] }1
Hiển thị tất cả các tài liệu từ một bộ sưu tập với sự trợ giúp của phương thức find[]. Truy vấn như 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" ] }2
Sau đây là đầu ra
{ "_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" ] }3
Đây là truy vấn để loại bỏ phần tử mảng theo chỉ mục của nó
{ "_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" ] }4
Ở trên, chúng tôi đã xóa phần tử mảng “MongoDB”, ở chỉ mục 3. Hãy để chúng tôi hiển thị tài liệu từ một bộ sưu tập. Truy vấn như 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" ] }2
Sau đây là đầu ra
{ "_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" ] }6
Nhìn vào đầu ra mẫu ở trên, chỉ số 3 i. e. vị trí 4 đã bị xóa khỏi mảng i. e. phần tử “MongoDB”