Update document, dữ liệu trong MongoDB

This entry is part 12 of 18 in the series MongoDB

Update document, dữ liệu trong MongoDB.

Update document trong MongoDB

Cú pháp:

Để update document trong MongoDB ta dùng method update():

db.collection_name.update(
   <SELECTION_CRITERIA>,
   <UPDATE>,
   {
     upsert: <boolean>,
     multi: <boolean>,
     writeConcern: <document>,
     collation: <document>,
     arrayFilters: [ <filterdocument1>, ... ]
   }
)

 

Trong đó:

  • SELECTION_CRITERIA: là mệnh đề where trong MongoDB dùng để chọn ra những document được update
  • UPDATE: trường được update và giá trị mới được update.
  • upsert: (boolean): mặc định là false. Nếu là true thì sẽ tạo document mới nếu không tìm thấy document nào thỏa mãn SELECTION_CRITERIA
  • multi: (boolean): mặc định là false. Nếu là true thì mới cho phép update nhiều document cùng thỏa mãn SELECTION_CRITERIA

Ví dụ trong collection player mình có 5 bản ghi như sau:

{'_id':'1', 'name':'neymar', 'country':'brazil', 'age':'25'},
{'_id':'2', 'name':'hazard', 'country':'belgium', 'age':'25'},
{'_id':'3', 'name':'mbappe', 'country':'france', 'age':'18'},
{'_id':'4', 'name':'modric', 'country':'croatia', 'age':'30'},
{'_id':'5', 'name':'ronaldo', 'country':'portugal', 'age':'33'},

Ví dụ trong collection player mình có 5 bản ghi như sau:

Bây giờ muốn đổi country của player có name = ‘neymar’ thành ‘spain’ thì câu lệnh sẽ là:

db.player.update({'name':'neymar'},{$set: {'country':'spain'}})

Update document, dữ liệu trong MongoDB

Một số ví dụ khác:

Đổi country = ‘vn’ với các player có name = ‘ronaldo’ hoặc name = ‘modric’

db.player.update({'name': {$in :['ronaldo', 'modric']}},{$set: {'country':'vn'}}, {'multi':true})

Đổi country = ‘japan’, name = ‘honda’ với document có _id = ‘1’

db.player.update({'_id':'1'},{$set: {'country':'japan','name':'honda'}})

*Lưu ý, nếu trong phần update bạn không dùng $set thì các field không được chỉ rõ sẽ bị null:

Ví dụ:

db.player.update({'_id':'1'}, {'country':'japan','name':'honda'})

Lệnh trên sẽ đổi country = ‘japan’, name = ‘honda’, age = null với document có _id = ‘1’

________________________

Okay, Done!

References: https://docs.mongodb.com/manual/mongo/

Series Navigation<< Xóa document, row trong MongoDB (bằng dòng lệnh, Robo3T)Projection trong MongoDB (SELECT field/column trong MongoDB) >>
stackjava.com