Nếu bạn có một bộ tài liệu trong MongoDB chứa các mảng, bạn có thể thêm các giá trị mới vào các mảng đó nếu cần
Tùy thuộc vào yêu cầu cụ thể của bạn, bạn có thể sử dụng toán tử
db.products.update[
{ _id: 3 },
{ $push: { sizes: "XL" } }
]
1 hoặc toán tử db.products.update[
{ _id: 3 },
{ $push: { sizes: "XL" } }
]
2Toán tử db.products.update[
{ _id: 3 },
{ $push: { sizes: "XL" } }
]
0
db.products.update[
{ _id: 3 },
{ $push: { sizes: "XL" } }
]
Giả sử chúng ta có một bộ sưu tập có tên là
db.products.update[
{ _id: 3 },
{ $push: { sizes: "XL" } }
]
1 với các tài liệu sau{ "_id" : 1, "product" : "Bat", "sizes" : [ "S", "M", "L" ] } { "_id" : 2, "product" : "Hat", "sizes" : [ "S", "L", "XL" ] } { "_id" : 3, "product" : "Cap", "sizes" : [ "M", "L" ] }
Và giả sử chúng ta muốn thêm một giá trị vào mảng trong tài liệu 3
Chúng ta có thể sử dụng
db.products.update[
{ _id: 3 },
{ $push: { sizes: "XL" } }
]
0 kết hợp với db.products.update[
{ _id: 3 },
{ $push: { sizes: "XL" } }
]
3 để nối thêm giá trịdb.products.update[
{ _id: 3 },
{ $push: { sizes: "XL" } }
]
Hãy xem lại bộ sưu tập để xác minh sự thay đổi
db.products.find[]
Kết quả
{ "_id" : 1, "product" : "Bat", "sizes" : [ "S", "M", "L" ] } { "_id" : 2, "product" : "Hat", "sizes" : [ "S", "L", "XL" ] } { "_id" : 3, "product" : "Cap", "sizes" : [ "M", "L", "XL" ] }
Chúng ta có thể thấy rằng giá trị
db.products.update[
{ _id: 3 },
{ $push: { sizes: "XL" } }
]
4 đã được thêm vào mảng trong tài liệu 3Toán tử
db.products.update[
{ _id: 3 },
{ $push: { sizes: "XL" } }
]
0 cũng có thể được sử dụng với nhiều từ bổ nghĩa khác nhau, chẳng hạn như db.products.update[
{ _id: 3 },
{ $push: { sizes: "XL" } }
]
6, db.products.update[
{ _id: 3 },
{ $push: { sizes: "XL" } }
]
7 và db.products.update[
{ _id: 3 },
{ $push: { sizes: "XL" } }
]
8Bạn cũng có thể thêm nhiều giá trị vào mảng bằng cách sử dụng công cụ sửa đổi
db.products.update[
{ _id: 3 },
{ $push: { sizes: "XL" } }
]
9Xem MongoDB
db.products.update[
{ _id: 3 },
{ $push: { sizes: "XL" } }
]
0 để biết ví dụToán tử db.products.find[]
1
db.products.find[]
Toán tử
db.products.find[]
1 hoạt động theo cách tương tự như db.products.update[
{ _id: 3 },
{ $push: { sizes: "XL" } }
]
0, ngoại trừ một vài điều- Nếu giá trị bạn đang cố thêm đã tồn tại trong mảng thì giá trị đó sẽ không được thêm vào
- Không thể sử dụng các công cụ sửa đổi
6,db.products.update[ { _id: 3 }, { $push: { sizes: "XL" } } ]
7 vàdb.products.update[ { _id: 3 }, { $push: { sizes: "XL" } } ]
8 vớidb.products.update[ { _id: 3 }, { $push: { sizes: "XL" } } ]
1db.products.find[]
Giả sử bộ sưu tập của chúng tôi trông như thế này
{ "_id" : 1, "product" : "Bat", "sizes" : [ "S", "M", "L" ] } { "_id" : 2, "product" : "Hat", "sizes" : [ "S", "L", "XL" ] } { "_id" : 3, "product" : "Cap", "sizes" : [ "M", "L" ] }2
Hãy chèn nhiều giá trị vào mảng trong tài liệu 2
{ "_id" : 1, "product" : "Bat", "sizes" : [ "S", "M", "L" ] } { "_id" : 2, "product" : "Hat", "sizes" : [ "S", "L", "XL" ] } { "_id" : 3, "product" : "Cap", "sizes" : [ "M", "L" ] }3
Bây giờ hãy kiểm tra lại bộ sưu tập
db.products.find[]
Kết quả
{ "_id" : 1, "product" : "Bat", "sizes" : [ "S", "M", "L" ] } { "_id" : 2, "product" : "Hat", "sizes" : [ "S", "L", "XL" ] } { "_id" : 3, "product" : "Cap", "sizes" : [ "M", "L" ] }5
Chúng ta có thể thấy rằng hai giá trị đã được thêm vào mảng trong tài liệu 2 như mong đợi
Ví dụ này sử dụng công cụ sửa đổi
db.products.update[
{ _id: 3 },
{ $push: { sizes: "XL" } }
]
9, bạn cũng có thể sử dụng công cụ này với toán tử db.products.update[
{ _id: 3 },
{ $push: { sizes: "XL" } }
]
0Tôi chỉ sử dụng công cụ sửa đổi
db.products.update[
{ _id: 3 },
{ $push: { sizes: "XL" } }
]
9 vì tôi đang thêm nhiều giá trị. Nếu tôi chỉ sử dụng một giá trị, tôi có thể bỏ qua công cụ sửa đổi db.products.update[
{ _id: 3 },
{ $push: { sizes: "XL" } }
]
9 và cú pháp sẽ trông giống ví dụ db.products.update[
{ _id: 3 },
{ $push: { sizes: "XL" } }
]
0 ở trên hơnNhư đã đề cập, nếu giá trị đã tồn tại, nó sẽ không được thêm vào. Ngoài ra, với cả hai toán tử, nếu bạn thêm một mảng, toàn bộ mảng sẽ được thêm dưới dạng một giá trị riêng biệt trong mảng hiện có