- MongoDB là gì? Các khái niệm trong MongoDB
- Hướng dẫn cài đặt, cấu hình MongoDB trên Windows 10
- Cài đặt và sử dụng Robo 3T (RoboMongo) trên Windows
- Hướng dẫn cài đặt MongoDB trên Linux (Ubuntu 16.04)
- Hướng dẫn MongoDB – Tạo database trong MongoDB
- Hướng dẫn MongoDB – Xóa, DROP database trong MongoDB
- Tạo bảng, collections trong MongoDB (Tạo bằng dòng lệnh, Robo3t)
- Xóa bảng, collections trong MongoDB (Xóa bằng lệnh/ Robo3T)
- Insert document, bản ghi trong MongoDB (Insert bằng lệnh, Robo3T)
- Truy vấn dữ liệu/document, find(), Select, Where trong MongoDB
- Xóa document, row trong MongoDB (bằng dòng lệnh, Robo3T)
- Update document, dữ liệu trong MongoDB
- Projection trong MongoDB (SELECT field/column trong MongoDB)
- Sắp xếp trong MongoDB(orderBy, sorting() trong MongoDB)
- Ưu nhược điểm của MongoDB, khi nào nên dùng MongoDB
- Xóa cột, field, trường của collections trong MongoDB ($unset)
- Kiểm tra null, check tồn tại trong MongoDB với $exists
- Đổi tên field trong MongoDB với $rename
- Tạo user/roles, phân quyền người dùng trên MongoDB
- Các loại roles, vai trò, quyền trong MongoDB.
- Đăng nhập mongodb với username và password (database mongo)
- Tạo Replica Set trong MongoDB, Ví dụ Replica Set MongoDB
- Replication, Replica Set trong MongoDB là gì?
- Phân trang trong MongoDB (skip(), limit() paging trong 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 updateUPDATE
: 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ãnSELECTION_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'},
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'}})
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/