Node.js: Xóa dữ liệu trong bộ sưu tập (DeleteOne và DeleteMany)


Khóa học qua video:
Lập trình Python All Lập trình C# All SQL Server All Lập trình C All Java PHP HTML5-CSS3-JavaScript
Đăng ký Hội viên
Tất cả các video dành cho hội viên

Xóa dữ liệu trong Collection

Để xóa một bản ghi hoặc tài liệu trong MongoDB, chúng ta sử dụng phương thức deleteOne().

Tham số đầu tiên của phương thức deleteOne() là một đối tượng truy vấn xác định tài liệu nào cần xóa.

Lưu ý: Nếu truy vấn tìm thấy nhiều tài liệu, chỉ dữ liệu xuất hiện đầu tiên sẽ bị xóa.

Ở ví dụ này chúng ta sẽ xóa các dữ liệu có chứa địa chỉ là Mountain 21

var { MongoClient } = require('mongodb-legacy');
var url = "mongodb://localhost:27017/";

MongoClient.connect(url, function(err, client) {
  if (err) throw err;
  var dbo = client.db("mydb");
  var myquery = { address: 'Mountain 21' };
  dbo.collection("customers").deleteOne(myquery, function(err, res) {
    if (err) throw err;
    console.log("1 document deleted");
    client.close();
  });
});

Với mongoose

const mongoose = require("mongoose")
const url = "mongodb://localhost:27017/mydb"
const { Schema } = mongoose
const schema = new Schema({name: "string", address: "string"})
const userinfo = mongoose.model("userinfo", schema, "customers")

mongoose.connect(url, function(err) {
    if(err) throw err;

    var myquery = { address'Mountain 21' };
    
userinfo.deleteOne(myquery, function(err, res){
        if (err) throw err;
        console.log("1 document deleted");
        mongoose.connection.close();
    });
});

Kết quả

 1 document deleted

 Xóa nhiều dữ liệu cùng lúc

Phương thức deleteMany() được sử dụng để xóa nhiều tài liệu cùng lúc.

Tham số đầu tiên của phương thức deleteMany() là một đối tượng truy vấn xác định tài liệu nào cần xóa.

Ở ví dụ này chúng ta sẽ xóa các dữ liệu có địa chỉ bắt đầu bằng chữ L

var MongoClient } = require('mongodb-legacy');
var url = "mongodb://localhost:27017/";

MongoClient.connect(url, function(err, client) {
  if (err) throw err;
  var dbo = client.db("mydb");
  var myquery = { address
/^L/ };
  dbo.collection("customers").deleteMany(myquery, function(err, res) {
    if (err) throw err;
    console.log(
res.deletedCount + " document(s) deleted");
    client.close();
  });
});

Với mongoose

const mongoose = require("mongoose")
const url = "mongodb://localhost:27017/mydb"
const { Schema } = mongoose
const schema = new Schema({name"string"address"string"})
const userinfo = mongoose.model("userinfo", schema, "customers")

mongoose.connect(url, function(err) {
    if(err) throw err;

    var myquery = { address/^L/ };
    userinfo.deleteMany(myquery, function(err, res){
        if (err) throw err;
        console.log(res.deletedCount + " document(s) deleted");

        mongoose.connection.close();
    });
});

Kết quả

1 document(s) deleted

Đối tượng kết quả được trả về 

Phương thức deleteOne()  deleteMany() trả về một đối tượng chứa thông tin về cách thực thi ảnh hưởng đến cơ sở dữ liệu.

{ acknowledged: true, deletedCount: 0 }

Trong đó:

  • acknowledged: True nếu hoạt động được sử dụng với write concern và ngược lại
  • deletedCount: Số lượng bản ghi hoặc tài liệu đã xóa
» Tiếp: Bắt đầu
« Trước: DROP TABLE và IF EXISTS
Khóa học qua video:
Lập trình Python All Lập trình C# All SQL Server All Lập trình C All Java PHP HTML5-CSS3-JavaScript
Đăng ký Hội viên
Tất cả các video dành cho hội viên
Copied !!!