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