DANH MỤC: NODE.JS & MONGODB

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é!

Nguồn: Toidicode.com

Thông tin tác giả

Vũ Thanh Tài

Vũ Thanh Tài

Biển học vô biên, quay đầu là dại!

Hãy tham gia group facebook để cùng giao lưu chia sẻ kiến thức! Tham Gia