Trang chủ » Bài 7: Update dữ liệu trong MongoDB trên Node.js

Bài 7: Update dữ liệu trong MongoDB trên Node.js

Tác giả:
Đánh giá bài đăng
0
83

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.
Lưu ý: Khi sử dụng phương thức updateOne thì nếu như dữ liệu so khớp với điều kiện filter lớn hơn 1 bản ghi thì nó sẽ chỉ sửa đổi duy nhất 1 bản ghi đầu tiên trong số các bản ghi so khớp.

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

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Facebook Messenger Chat Zalo
Messenger Zalo