Điện thoại/ Zalo
0389934723
Bài 7: Update dữ liệu trong MongoDB trên Node.js
Tiết tục với series, phần này chúng ta sẽ tìm hiểu về cách sửa đổi dữ liệu trong collection trên MongoDB bằng Node.js
1, Sửa đổi một bản ghi trong MongoDB.
-Để có thể sửa đổi một bản ghi duy nhất trong MognoDB trên Node.js thì các bạn sử dụng phương thức updateOne() với cú pháp sau:
.updateOne(filter, newDocument, options, callback)
Trong đó:
filter
là object chứa các điều kiện query để chọn ra bản ghi cần sửa (xem query).newDocument
là object chứa các trường và dữ liệu mới của các trường đó.options
là thông số cấu hình thêm (xem). Tham số này có thể bỏ trống.callback
là hàm sẽ được gọi khi thực thi query, thường thì ta sử dụng luôn closure function.
VD: Sửa bản ghi có name = ‘ao phong‘ và có price = 75000 thành ao phong 2 có giá 100000.
const mongoClient = require('mongodb').MongoClient;
mongoClient.connect('mongodb://127.0.0.1:27017/nodedb', function(err, db) {
if (err) throw err;
var products = db.collection('products');
products.updateOne({name: 'ao phong', price: 75000}, {$set: {name: 'ao phong 2', price: 100000}}, function (err,res) {
if (err) throw err;
console.log('update success: ' + res.result.nModified + ' record');
});
db.close();
});
Kết quả trả về:
update success: 1 record
2, Sửa đổi nhiều bản ghi trong MongoDB.
-Nếu như muốn sửa đổi dữ liệu của tất cả các bản ghi tìm được thì chúng ta sử dụng phương thức updateMany()
theo cú pháp sau:
.updateMany(filter, newDocument, options, callback)
Trong đó:
filter
là object chứa các điều kiện query để chọn ra bản ghi cần sửa (xem query).newDocument
là object chứa các trường và dữ liệu mới của các trường đó.options
là thông số cấu hình thêm (xem). Tham số này có thể bỏ trống.callback
là hàm sẽ được gọi khi thực thi query, thường thì ta sử dụng luôn closure function.
VD: Tìm tất cả các bản ghi có name= ‘ao thun‘ và sửa thành ‘ao thun trang‘
const mongoClient = require('mongodb').MongoClient;
mongoClient.connect('mongodb://127.0.0.1:27017/nodedb', function(err, db) {
if (err) throw err;
var products = db.collection('products');
products.updateMany({name: 'ao thun'}, {$set: {name: 'ao thun trang'} }, function (err,res) {
if (err) throw err;
console.log('update success: ' + res.result.nModified + ' records');
});
db.close();
});
Kết quả trả về:
update success: 4 records
3, Lời kết.
-Ngoài hai phương thức mình đã giới thiệu ở phía trên thì các bạn cũng có thể sử dụng phương thức update() (có thể cấu hình sửa một hoặc nhiều bản ghi) – bạn nào cần thì xem thêm tại bài 10 trong series mongoDB