Chèn vào vào vị trí đầu tiên và cuối của array trong Mongo DB
Thao tác cơ bản với array trong Mongo DB
Giới thiệu qua về mongo
Mình sẽ không nói nhiều về mongo vì trên mạng có khá nhiều rồi. Mình chỉ tóm tắt sơ lược nó là một database NO SQL (Not-Only SQL). Nếu các bạn code node js nhiều rồi thì chắc hẳn sẽ khá biết rõ về nó. Các bạn tham khảo thêm ở đây
Cách để chèn phần tử vào cuối mảng
Hiện mongo hỗ trợ cho chúng ta phương thức $push
// Một document có dạng sau
{ "colors" : [ "red", "green", "blue" ] }
// Giờ ta sẽ thêm vào cuối bằng method $push
{ $push:{colors:"yellow"} }
// kết quả sẽ như sau
{ "colors" : [ "red", "green", "blue", "yellow" ] }
Cách để chèn vào đầu mảng
Nếu theo thông thường thì chúng ta sẽ phải có $unshift
để thêm vào đầu array, tuy nhiên mongo lại không hỗ trợ, thật buồn cười phải không?
Tuy nhiên chúng ta có thể dùng cách này
$push: { colors: { $each: ['yellow'], $position: 0 } }
// kết quả mong muốn
{ "colors" : [ "yellow", "red", "green", "blue"] }
Tương tự với mảng object, xem ví dụ bên dưới
{
items: [
{
id: 1,
user: Cuong,
},
{
id: 2,
user: Dung,
},
]
}
// Nếu muốn thêm một object mới chúng ta phải thêm như sau
$push: { items: { $each: [{ id: 3, user: Neo }], $position: 0 } }
Comments