deleteOne() (حذف مستند واحد)

آخر تحديث: 2026-10-09

deleteOne() (حذف مستند واحد)

تحذف deleteOne() أول مستند يطابق مرشحًا؛ وإذا طابق عدة مستندات، يُحذف الأول بالترتيب الطبيعي فقط. تتضمن النتيجة deletedCount (0 أو 1). لا يمكن التراجع عن الحذف، لذا من الحكمة التأكد من الهدف أولًا بـ `db.users.findOne({ name: 'Alice' })`. وهي الطريقة الأكثر مباشرة لحذف مستند واحد.

الفئةالكتابة
إصدار MongoDB1.0+
لغة المثالmongosh (الطرفية)

📝 الصيغة

db.<collection>.deleteOne(<filter>, { writeConcern: <options> })

⚙️ المعلمات

شرط التصفيةشرط يطابق المستند المراد حذفه.
writeConcernاختياري. ضمان الكتابة (write concern).

القيمة المرجعة:‏DeleteResult: { acknowledged, deletedCount }.

▶ مثال

نفّذ الأوامر التالية في mongosh المحلي لديك (يتطلب تشغيل mongod):

// deleteOne: حذف المستخدم المسمى Alice
db.users.deleteOne({ name: 'Alice' })

المخرجات:

{ acknowledged: true, deletedCount: 1 }

📌 ملاحظات

📚 دروس ذات صلة

❓ الأسئلة الشائعة

Qهل تحذف deleteOne كل المستندات المطابقة؟
Aلا، تحذف deleteOne() أول تطابق فقط. استخدم deleteMany() لحذف كل التطابقات.
Qهل ترفع deleteOne خطأً عند عدم تطابق شيء؟
Aلا خطأ — تُعيد deletedCount: 0، مما يخبرك هل طابق المرشح شيئًا أم لا.
Qهل يمكن استرداد مستند محذوف؟
Aليس عبر واجهة البرمجة. الحذف مادي؛ يعتمد الاسترداد على النسخ الاحتياطية أو سجل العمليات (oplog) في مجموعات النسخ المتماثلة، لذا انسخ البيانات المهمة احتياطيًا أولًا.
Web-Tutorial.com

فريق Web-Tutorial التقني

منصة دروس برمجية يديرها عدة مطورين. كل درس يتم كتابته ومراجعته بواسطة مطورين متخصصين في المجال. نعمل على ضمان دقة وموثوقية المحتوى — إذا لاحظت أي مشكلة، فيرجى إخبارنا.

100%