Hướng dẫn update on mongodb - cập nhật trên mongodb

Tiếp tục với series phần này chúng ta sẽ tìm hiểu về các update một hoặc nhiều bản ghi trong MongoDB.update một hoặc nhiều bản ghi trong MongoDB.

1, Sửa đổi một 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 updateOne() theo cú pháp sau:

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

Trong đó::

  • filter là một object chứa các tiêu chí lựa chọn bản ghi update (sử dụng cú pháp selector).
  • update là object chứa dữ liệu sửa đổi trên bản ghi.
  • upsert là một boolean cấu hình điều gì sẽ xảy ra khi không có bản khi khớp với filter. Nếu upsert = true thì nó sẽ thêm mới bản ghi đó nếu không có bản ghi nào khớp với filter và sẽ không có điều gì xảy ra nếu upsert = false. Mặc định thì upsert = false.
  • writeConcern là một document chứa write concern.
  • collation là một document chứa các quy tắc.

Lưu ý: Khi sử dụng phương thức updateOne() nếu như dữ liệu khớp với filter 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.: Khi sử dụng phương thức updateOne() nếu như dữ liệu khớp với filter 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: Sửa name của admin có tuổi = 18 thành Toidicode.: Sửa name của admin có tuổi = 18 thành Toidicode.

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

Hướng dẫn update on mongodb - cập nhật trên mongodb

Hình minh họa

2,  Sửa đổi nhiều bản ghi trong MongoDB.

-Để sửa nhiều bản ghi trên một lần khai báo trong MongoDB thì mọi người sử dụng phương thức updateMany() với cú pháp tương tự như Phương thức updateOne():

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

Trong đó::

  • filter là một object chứa các tiêu chí lựa chọn bản ghi update (sử dụng cú pháp selector).
  • update là object chứa dữ liệu sửa đổi trên bản ghi.
  • upsert là một boolean cấu hình điều gì sẽ xảy ra khi không có bản khi khớp với filter. Nếu upsert = true thì nó sẽ thêm mới bản ghi đó nếu không có bản ghi nào khớp với filter và sẽ không có điều gì xảy ra nếu upsert = false. Mặc định thì upsert = false.
  • writeConcern là một document chứa write concern.
  • collation là một document chứa các quy tắc.

Lưu ý: Khi sử dụng phương thức updateOne() nếu như dữ liệu khớp với filter 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.Lưu ý: Phương thức này chỉ khác với phương thức updateOne() ở chỗ: Nếu như số lượng bản ghi so khớp với filter lớn hơn 1 bản ghi thì nó sẽ sửa dữ liệu trên tất cả các bản ghi đó.

VD1: Sửa name của admin có tuổi = 18 thành Toidicode.: Sửa name của admin có name = "Vu Thanh Tai" thành Toidicode.

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

Hướng dẫn update on mongodb - cập nhật trên mongodb

Hình minh họa

2,  Sửa đổi nhiều bản ghi trong MongoDB.

-Để sửa nhiều bản ghi trên một lần khai báo trong MongoDB thì mọi người sử dụng phương thức updateMany() với cú pháp tương tự như Phương thức updateOne():

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

Trong đó::

  • filter là một object chứa các tiêu chí lựa chọn bản ghi update (sử dụng cú pháp selector).
  • update là object chứa dữ liệu sửa đổi trên bản ghi.
  • upsert là một boolean cấu hình điều gì sẽ xảy ra khi không có bản khi khớp với filter. Nếu upsert = true thì nó sẽ thêm mới bản ghi đó nếu không có bản ghi nào khớp với filter và sẽ không có điều gì xảy ra nếu upsert = false. Mặc định thì upsert = false.
  • writeConcern là một document chứa write concern.
  • writeConcern là một document chứa write concern.
  • collation là một document chứa các quy tắc.

Lưu ý: Khi sử dụng phương thức updateOne() nếu như dữ liệu khớp với filter 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.: Sửa đổi name của một bản ghi duy nhất có name là "Toidicode" thành "Vu Thanh Tai".

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

Hướng dẫn update on mongodb - cập nhật trên mongodb

Hình minh họa

2,  Sửa đổi nhiều bản ghi trong MongoDB.

-Để sửa nhiều bản ghi trên một lần khai báo trong MongoDB thì mọi người sử dụng phương thức updateMany() với cú pháp tương tự như Phương thức updateOne():sửa đổi dữ liệu trong collection 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 collection.

-Lưu ý: Phương thức này chỉ khác với phương thức updateOne() ở chỗ: Nếu như số lượng bản ghi so khớp với filter lớn hơn 1 bản ghi thì nó sẽ sửa dữ liệu trên tất cả các bản ghi đó.

VD2: Sửa name của admin có name = "Vu Thanh Tai" thành Toidicode.

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