Node.js MongoDB 删除
删除文档
要删除记录(在 MongoDB 中称为文档),我们使用 deleteOne()
方法。
deleteOne()
方法的第一个参数是一个查询对象,用于定义要删除的文档。
注意:如果查询找到多个文档,则只删除第一个匹配项。
示例
删除地址为“Mountain 21”的文档
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://:27017/";
MongoClient.connect(url, function(err, db) {
if (err) throw err;
var dbo = db.db("mydb");
var myquery = { address: 'Mountain 21' };
dbo.collection("customers").deleteOne(myquery, function(err, obj) {
if (err) throw err;
console.log("1 个文档已删除");
db.close();
});
});
运行示例 »
将上面的代码保存在名为“demo_delete.js”的文件中并运行该文件
运行“demo_delete.js”
C:\Users\您的名字>node demo_delete.js
这将产生以下结果:
1 个文档已删除
删除多个
要删除多个文档,请使用 deleteMany()
方法。
deleteMany()
方法的第一个参数是一个查询对象,用于定义要删除的文档。
示例
删除所有地址以字母“O”开头的文档
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://:27017/";
MongoClient.connect(url, function(err, db) {
if (err) throw err;
var dbo = db.db("mydb");
var myquery = { address: /^O/ };
dbo.collection("customers").deleteMany(myquery, function(err, obj) {
if (err) throw err;
console.log(obj.result.n + " 个文档已删除");
db.close();
});
});
运行示例 »
将上面的代码保存在名为“demo_delete_many.js”的文件中并运行该文件
运行“demo_delete_many.js”
C:\Users\您的名字>node demo_delete_many.js
这将产生以下结果:
2 个文档已删除
结果对象
deleteMany()
方法返回一个对象,其中包含有关执行如何影响数据库的信息。
大部分信息并不重要,但对象中的一个名为“result”的属性告诉我们执行是否成功,以及有多少文档受到影响。
result 对象如下所示:
{ n: 2, ok: 1 }
您可以使用此对象来返回已删除文档的数量
示例
返回已删除文档的数量
console.log(obj.result.n);
这将产生以下结果:
2