dropIndexes() (حذف فهارس)

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

dropIndexes() (حذف فهارس)

تحذف dropIndexes() فهرسًا واحدًا أو أكثر، مثل `db.users.dropIndexes()` الذي يحذف كل فهرس غير _id، أو مرّر مصفوفة أسماء لحذف محددة منها. كما تحذف كل الفهارس المبدوءة بالاسم المعطى (فمثلًا 'age_1' يسحب معه 'age_1_text'). يبقى فهرس _id دائمًا. وهي طريقة شائعة لتنظيف بيئات الاختبار.

الفئةالفهرس والإدارة
إصدار MongoDB1.0+
لغة المثالmongosh (الطرفية)

📝 الصيغة

db.<collection>.dropIndexes(<indexNames>)

⚙️ المعلمات

مصفوفة أسماء الفهارساختياري. الأسماء المراد إسقاطها؛ عند الإغفال تُسقط كل الفهارس عدا _id.

القيمة المرجعة:كائن معلومات يحتوي على عدد وحالة الفهارس المُسقطة.

▶ مثال

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

// dropIndexes: حذف فهرسي age و email
db.users.dropIndexes(['age_1', 'email_1'])

المخرجات:

{ ok: 1, nIndexesWas: 4, nIndexesRemoved: 2 }

📌 ملاحظات

📚 دروس ذات صلة

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

Qهل تحذف dropIndexes دون وسائط كل الفهارس؟
Aنعم، كل شيء ما عدا _id — تحقق من القائمة بـ getIndexes() أولًا.
Qهل يمكن أن تستهدف dropIndexes فهارس محددة؟
Aنعم، مرّر مصفوفة أسماء، مثل db.users.dropIndexes(['age_1', 'email_1']).
Qلماذا تحذف dropIndexes أكثر من 'age_1'؟
Aلأنها تطابق ببادئة الاسم، لذا يُحذف أيضًا كل فهرس يبدأ بـ 'age_1' (مثل 'age_1_text').
Web-Tutorial.com

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

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

100%