تخطَّ إلى المحتوى

🍃 شرح MongoDB

الفهارس (Indexes)

الدرس 13 من 25· ⏱ 1 دقائق قراءة

لماذا الفهارس؟

بلا فهرس، يفحص MongoDB كل المستندات (collection scan). الفهرس يجعل البحث شبه فوري.

إنشاء فهرس

db.users.createIndex({ email: 1 })       // تصاعدي
db.users.createIndex({ age: -1 })        // تنازلي

فهرس فريد

db.users.createIndex({ email: 1 }, { unique: true })   // يمنع التكرار

فهرس مركّب

db.users.createIndex({ age: 1, name: 1 })   // لاستعلامات على الحقلين

إدارة الفهارس

db.users.getIndexes()          // عرض
db.users.dropIndex("email_1")  // حذف

فحص الأداء

db.users.find({ email: "x@x.com" }).explain("executionStats")

ابحث عن IXSCAN (استخدم فهرسًا) بدل COLLSCAN (فحص كامل).

⚠️ الفهارس تسرّع القراءة لكنها تبطّئ الكتابة وتستهلك مساحة — أنشئها للحقول المستعلَم عنها كثيرًا فقط.

🎯 التالي: التجميع (Aggregation).

هل كان هذا الدرس مفيدًا؟