Node.js MongoDB حذف
حذف المستند
لحذف تسجيلة أو وثيقة كما يطلق عليها في MongoDB ، نستخدم
deleteOne()
الطريقة.
المعلمة الأولى deleteOne()
للأسلوب هي كائن استعلام يحدد المستند المطلوب حذفه.
ملاحظة: إذا عثر الاستعلام على أكثر من وثيقة واحدة ، فسيتم حذف التكرار الأول فقط.
مثال
احذف المستند بالعنوان "Mountain 21":
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost: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
document deleted");
db.close();
});
});
احفظ الكود أعلاه في ملف يسمى "demo_delete.js" وقم بتشغيل الملف:
قم بتشغيل "demo_delete.js"
C:\Users\Your Name>node demo_delete.js
والتي ستعطيك هذه النتيجة:
1 document deleted
حذف كثير
لحذف أكثر من مستند ، استخدم
deleteMany()
الطريقة.
المعلمة الأولى deleteMany()
للأسلوب هي كائن استعلام يحدد المستندات المطلوب حذفها.
مثال
احذف جميع المستندات إذا كان العنوان يبدأ بالحرف "O":
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost: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 + "
document(s) deleted");
db.close();
});
});
احفظ الكود أعلاه في ملف يسمى "demo_delete_many.js" وقم بتشغيل الملف:
قم بتشغيل "demo_delete_many.js"
C:\Users\Your Name>node demo_delete_many.js
والتي ستعطيك هذه النتيجة:
2 document(s) deleted
كائن النتيجة
تقوم deleteMany()
الطريقة بإرجاع كائن يحتوي على معلومات حول كيفية تأثير التنفيذ على قاعدة البيانات.
ليس من المهم فهم معظم المعلومات ، ولكن يُطلق على كائن واحد داخل الكائن اسم "نتيجة" والتي تخبرنا ما إذا كان التنفيذ ساريًا على ما يرام ، وكم عدد المستندات التي تأثرت.
يبدو الكائن الناتج كالتالي:
{ n: 2, ok: 1 }
يمكنك استخدام هذا الكائن لإرجاع عدد المستندات المحذوفة:
مثال
قم بإرجاع عدد المستندات المحذوفة:
console.log(obj.result.n);
والتي ستنتج هذه النتيجة:
2