createIndex() (إنشاء فهرس)

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

createIndex() (إنشاء فهرس)

تُنشئ createIndex() فهرسًا واحدًا لتسريع الاستعلامات، مثل `db.users.createIndex({ age: 1 }, { unique: true })`. القيمة 1 للترتيب التصاعدي و-1 للتنازلي؛ وتدعم أيضًا أنواع فهارس text و hashed و 2dsphere. الفهرس الفريد يفرض تفرد الحقل. لاحظ أن بناء فهرس على مجموعة كبيرة قد يستغرق وقتًا ويحجب الكتابة — جدوله خارج أوقات الذروة في الإنتاج.

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

📝 الصيغة

db.<collection>.createIndex(<keys>, <options>)

⚙️ المعلمات

مفتاح الفهرسربط الحقول بالاتجاه، مثل {age: 1, name: -1}.
خياراتاختياري. خيارات مثل unique وsparse وname وbackground.

القيمة المرجعة:اسم الفهرس الجديد (نص).

▶ مثال

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

// createIndex: فهرس فريد تصاعدي على حقل age
const idx = db.users.createIndex({ age: 1 }, { unique: true })
idx

المخرجات:

'age_1'

📌 ملاحظات

📚 دروس ذات صلة

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

Qكيف أنشئ فهرسًا فريدًا بـ createIndex؟
Aأضف {unique: true} إلى الخيارات، مثل db.users.createIndex({email: 1}, {unique: true}).
Qهل تحجب createIndex الاستعلامات؟
Aأثرت الإصدارات الأقدم على الكتابة ولو لفترة وجيزة حتى في الوضع الخلفي؛ البناء الهجين منذ 4.2 يؤثر على القراءة/الكتابة أقل بكثير، لكن يُفضَّل التوقيت خارج الذروة للمجموعات الكبيرة.
Qكيف أنشئ فهرسًا مركّبًا؟
Aمرّر حقولًا متعددة، مثل db.users.createIndex({age: 1, name: -1})؛ وتستفيد الاستعلامات التي تستخدم البادئة اليسرى.
Web-Tutorial.com

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

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

100%