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