BASIC TO ADVANCE

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

Ở phần trước mình đã giới thiệu với mọi người cách update dữ liệu trên MongoDB rồi. Phần này mình sẽ tiếp tục giới thiệu đến mọi người cách delete dữ liệu trong MongoDB bằng Node.js.

1, Delete một bản ghi duy nhất trong MongoDB bằng Node.js.

-Để có thể delete duy nhất một bản ghi trong MongoDB trên Node.js thì mọi người sử dụng phương thức deleteOne() với cú pháp sau:

.deleteOne(filter, options, callback)

Trong đó:

  • filter là object chứa các điều kiện query để chọn ra bản ghi cần xóa (xem query).
  • 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 deleteOne 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ỉ xóa duy nhất 1 bản ghi đầu tiên trong số các bản ghi so khớp.

VD:  Xóa duy nhất một sản phẩm có name='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');
    //lấy ra số lượng tìm được ban đầu
    products.count({name:'ao thun trang'},function(err, count){
        if (err) throw err;
        console.log('truoc luc delete co: ' + count + ' ban ghi');
    })
    products.deleteOne({name: 'ao thun trang'}, function (err,res) {
        if (err) throw err;
        console.log('delete success: ' + res.result.n + ' record');
    });
    // sau khi thuc hien delete
    products.count({name:'ao thun trang'},function(err, count){
        if (err) throw err;
        console.log('sau khi delete con: ' + count + ' ban ghi');
    })
    db.close();
});

Kết Quả:

truoc luc delete co: 2 ban ghi
delete success: 1 record
sau khi delete con: 1 ban ghi

2, Delete nhiều bản ghi trong MongoDB bằng Node.js.

-Nếu như muốn delete tất cả các dữ liệu khớp với điều kiện query thì chúng ta sử dụng phương thức deleteMany() với cú pháp và cách sử dụng giống như phương thức deleteOne().

VD: Xóa tất cả các bản ghi có name='ao phong 2' trong collection products.

/*deleteMany*/
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');
    //lấy ra số lượng tìm được ban đầu
    products.count({name:'ao phong 2'},function(err, count){
        if (err) throw err;
        console.log('truoc luc delete co: ' + count + ' ban ghi');
    })
    products.deleteMany({name: 'ao phong 2'}, function (err,res) {
        if (err) throw err;
        console.log('delete success: ' + res.result.n + ' record');
    });
    // sau khi thuc hien delete
    products.count({name:'ao phong 2'},function(err, count){
        if (err) throw err;
        console.log('sau khi delete con: ' + count + ' ban ghi');
    })
    db.close();
});

Kết Quả:

truoc luc delete co: 3 ban ghi
delete success: 3 record
sau khi delete con: 0 ban ghi

3, Lời kết.

-Như vậy kết thúc phần này là mình đã giới thiệu xong đến mọi người về CURD trong MongoDB rồi nhé!

Đăng ký nhận tin.

Chúng tôi chỉ gửi tối đa 2 lần trên 1 tháng. Tuyên bố không spam mail!

Vũ Thanh Tài

About author
The best way to learn is to share
Xem tất cả bài đăng

0 Comments

Bài viết chưa có ai bình luận, hãy là người đầu tiên đi bạn!

Bình luận

Captcha