Nâng cấp mongodb

➤ Sử dụng menu thả xuống Chọn ngôn ngữ của bạn ở phía trên bên phải để đặt ngôn ngữ cho các ví dụ sau


Ghi chú

Bắt đầu từ MongoDB 4. 2, MongoDB có thể chấp nhận một quy trình tổng hợp để chỉ định các sửa đổi cần thực hiện thay vì một tài liệu cập nhật. Xem trang tham khảo phương pháp để biết chi tiết

Tất cả các thao tác ghi trong MongoDB là nguyên tử ở cấp độ của một tài liệu. Để biết thêm thông tin về MongoDB và tính nguyên tử, hãy xem Tính nguyên tử và Giao dịch

Sau khi được đặt, bạn không thể cập nhật giá trị của trường _id cũng như không thể thay thế tài liệu hiện có bằng tài liệu thay thế có giá trị trường _id khác

Đối với các thao tác ghi, MongoDB giữ nguyên thứ tự của các trường tài liệu ngoại trừ các trường hợp sau

  • Trường _id luôn là trường đầu tiên trong tài liệu

  • Các bản cập nhật bao gồm

    db.collectionName.updateOne(
        filter,
        update,
        {
            upsert: ,
            writeConcern: 
            collation: ,
        }
    )
    1 tên trường có thể dẫn đến việc sắp xếp lại các trường trong tài liệu

Với các mối quan tâm về ghi, bạn có thể chỉ định mức xác nhận được yêu cầu từ MongoDB cho các thao tác ghi. Để biết chi tiết, xem Viết mối quan tâm

Tiếp tục với phần này của loạt bài, chúng ta sẽ tìm hiểu về các bản cập nhật của một hoặc nhiều bản ghi trong MongoDB

1, Sửa đổi bản ghi trong MongoDB

- Để sửa đổi một bản ghi duy nhất trong MongoDB thì các bạn sử dụng phương thức

db.admin.updateOne(
    {age: 18},
    {
        $set: {
            name: "Toidicode"
        }
    }
)
0 theo cú pháp sau

db.collectionName.updateOne(
    filter,
    update,
    {
        upsert: ,
        writeConcern: 
        collation: ,
    }
)

in which

  • bộ lọc là một đối tượng chứa các tiêu chí lựa chọn bản ghi cập nhật (sử dụng bộ chọn cú pháp)
  • cập nhật là đối tượng chứa dữ liệu được sửa đổi trên bản ghi
  • upsert là một cấu hình boolean điều gì sẽ xảy ra khi không có bản khớp với bộ lọc. Nếu upsert = true thì nó sẽ thêm bản ghi mới nếu không có bản ghi nào phù hợp với bộ lọc và sẽ không có điều gì xảy ra nếu upsert = false. Default thì upsert = false
  • writeConcern là một tài liệu chứa mối quan tâm ghi
  • đối chiếu là một tài liệu chứa các quy tắc

Lưu ý . Khi sử dụng phương thức

db.admin.updateOne(
    {age: 18},
    {
        $set: {
            name: "Toidicode"
        }
    }
)
0 nếu dữ liệu khớp với bộ lọc nhiều hơn một bản ghi, thì nó sẽ chỉ sửa đổi cho một bản ghi đầu tiên.

VD1. Edit name of admin with age = 18 toidicode

db.admin.updateOne(
    {age: 18},
    {
        $set: {
            name: "Toidicode"
        }
    }
)

Hình minh họa

3, Sửa đổi bản ghi trong MongoDB

- Ngoài 2 phương thức trên thì trong MongoDB còn cung cấp cho chúng ta một phương thức update() có thể cấu hình

db.admin.updateOne(
    {age: 18},
    {
        $set: {
            name: "Toidicode"
        }
    }
)
0 hoặc
db.admin.updateOne(
    {age: 18},
    {
        $set: {
            name: "Toidicode"
        }
    }
)
2, sử dụng theo cú pháp sau

db.collection.update(
   filter,
   update,
   {
     upsert: ,
     multi: ,
     writeConcern: ,
     collation: 
   }
)

in which

  • bộ lọc là một đối tượng chứa các tiêu chí lựa chọn bản ghi cập nhật (sử dụng bộ chọn cú pháp)
  • cập nhật là đối tượng chứa dữ liệu được sửa đổi trên bản ghi
  • upsert là một cấu hình boolean điều gì sẽ xảy ra khi không có bản khớp với bộ lọc. Nếu upsert = true thì nó sẽ thêm bản ghi mới nếu không có bản ghi nào phù hợp với bộ lọc và sẽ không có điều gì xảy ra nếu upsert = false. Default thì upsert = false
  • multi is an boolean config view has allow to edit many write or not, multi as true is allow and reverse by false then is not. Mặc định thì thuộc tính này có giá trị là sai
  • writeConcern là một tài liệu chứa mối quan tâm ghi
  • đối chiếu là một tài liệu chứa các quy tắc

VD3. Sửa đổi tên của một bản ghi duy nhất có tên là "Toidicode" thành "Vu Thanh Tai"

db.admin.updateOne(
    {name: "Vu Thanh Tai"},
    {
        $set: {
            name: "Toidicode"
        }
    },
    {
        multi : false
    }
)

Hướng dẫn mongodb find and update

Hình minh họa

4, Lời kết

-Như vậy phần này mình đã hướng dẫn mọi người 3 cách để sửa đổi dữ liệu trong bộ sưu tập rồi, bài tiếp theo chúng ta sẽ tìm hiểu về các cách xóa dữ liệu trong bộ sưu tập