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 } }

Source

https://jira.mongodb.org/browse/SERVER-19974

Comments

Contact for work:Skype
Code from my 💕