createIndexes (بناء الفهارس)

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

createIndexes (بناء الفهارس)

يبني createIndexes فهارس على مجموعة — أحادية الحقل ومركّبة وفريدة وTTL ونصية وجيومكانية. في mongosh يكون النمط المعتاد هو المساعدة db.collection.createIndex({ field: 1 }). تستهلك عمليات البناء موارد؛ وعلى المجموعات الكبيرة تستمر القراءة والكتابة أثناء البناء الهجين (الافتراضي منذ 4.2). ترتيب الحقول في الفهارس المركّبة يحدد الاستعلامات المدعومة.

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

📝 الصيغة

db.orders.createIndex({ userId: 1, createdAt: -1 })
db.users.createIndex({ email: 1 }, { unique: true })
db.runCommand({ createIndexes: "orders", indexes: [{ key: { userId: 1 }, name: "user" }] })

⚙️ المعلمات

keyمفاتيح الفهرس واتجاهاته، مثل { userId: 1, createdAt: -1 }.
uniqueاضبط true لفهرس فريد.
nameاسم الفهرس؛ يُولَّد تلقائيًا عند إغفاله.

القيمة المرجعة:يُرجع numIndexesBefore وnumIndexesAfter وok

▶ مثال

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

// createIndexes: فهارس مركبة وفريدة
use shop
db.orders.createIndex({ userId: 1, createdAt: -1 })
db.users.createIndex({ email: 1 }, { unique: true })

المخرجات:

{ numIndexesBefore: 1, numIndexesAfter: 2, ok: 1 }

📌 ملاحظات

مزيد من الحالات العملية قريبًا.

📚 دروس ذات صلة

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

Qكيف ينبغي أن أرتب الحقول في فهرس مركّب؟
Aضع حقول تصفية المساواة أولًا، ثم حقول النطاق والترتيب.
Qماذا يحدث عند إدراج مكرر مع فهرس فريد؟
Aيفشل الإدراج بخطأ تكرار المفتاح.
Qهل يقفل إنشاء الفهرس قاعدة البيانات؟
Aمنذ 4.2 يبقي البناء الهجين القراءة والكتابة جارية، وإن استهلك وحدة المعالجة والإدخال/الإخراج.
Web-Tutorial.com

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

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

100%