English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

حذف مستند MongoDB

في هذا الفصل، سنتعلم كيفية حذف المستندات باستخدام MongoDB.

طريقة remove()

MongoDBremove()يستخدم هذا المتدخل ل�除 المستندات من المجموعة. يعتمد متدخل remove() على معاملتين. المعاملات الأولى هي شرط الحذف query، والثانية هي علامة justOne.

  • query − (اختياري) شرط حذف المستندات.

  • justOne − (اختياري) إذا تم تعيينه على true أو 1، فإنه سيتم حذف وثيقة واحدة فقط.

النصابة:

remove()النصابة الأساسية للمتدخل هي:

db.collection.remove(
   <query>,
   <justOne>
)

إذا كانMongoDB الخاص بك هو إصدار 2.6 أو أحدث، فإن صيغة الجملة تكون كالتالي:

db.collection.remove(
   {
     justOne: <boolean>,
     writeConcern: <document>
   }
)

شرح المعاملات:

  • query : (اختياري) شرط حذف المستندات.

  • justOne : (اختياري) إذا تم تعيينه على true أو 1، فإنه سيتم حذف وثيقة واحدة فقط، وإذا لم يتم تعيين هذا المعامل أو تم تعيينه على القيمة الافتراضية false، فإنه سيتم حذف جميع المستندات التي تتوافق مع الشروط.

  • writeConcern : (اختياري) مستوى الاستثناءات التي يتم رميها.

مثال

افترض أن المجموعة mycol تحتوي على البيانات التالية.

{_id : ObjectId("507f191e810c19729de860e1"), title: "MongoDB Overview"},
{_id : ObjectId("507f191e810c19729de860e2"), title: "NoSQL Overview"},
{_id : ObjectId("507f191e810c19729de860e3"), title: "w3codebox Overview"}

في هذا المثال سيتم حذف جميع المستندات التي تحتوي على العنوان "MongoDB Overview".

>db.mycol.remove({'title':'MongoDB Overview'})
كتابة النتيجة({"nRemoved" : 1})
> db.mycol.find()
{"_id" : ObjectId("507f191e810c19729de860e2"), "title" : "NoSQL Overview" }
{"_id" : ObjectId("507f191e810c19729de860e3"), "title" : "مقدمة إلى w3codebox"}

حذف مستند واحد فقط

إذا كان هناك عدة سجلات وأردت حذف السجل الأول فقط،justOneفيremove()إعداد المعلمات في method.

> db.COLLECTION_NAME.remove(DELETION_CRITERIA,1)

حذف جميع المستندات

إذا لم تكن قد أوضحت شرط الحذف، فإن MongoDB سيزيل جميع المستندات من المجموعة. هذا يعادل الأمر truncate في SQL.

> db.mycol.remove({})
WriteResult({ "nRemoved" : 2 })
> db.mycol.find()
>