createIndexes() (إنشاء فهارس متعددة)

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

createIndexes() (إنشاء فهارس متعددة)

تُنشئ createIndexes() عدة فهارس في استدعاء واحد، مثل `db.users.createIndexes([{ key: { age: 1 } }, { key: { email: 1 }, unique: true }])`. مقارنةً بتكرار createIndex()، فإنها تجمّع عمليات بناء الفهارس في طلب واحد — أكثر كفاءة للإعداد الأولي والترحيلات. يحتاج كل تعريف إلى key وقد يحمل خيارات. لاحظ أن فهرس _id موجود دائمًا ولا يمكن حذفه.

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

📝 الصيغة

db.<collection>.createIndexes([<indexSpecs>, ...])

⚙️ المعلمات

مصفوفة تعريفات الفهارسكل عنصر يحتوي على مفتاح مع أعلام اختيارية، مثل {key: {age: 1}, unique: true}.

القيمة المرجعة:قائمة بأسماء الفهارس المُنشأة.

▶ مثال

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

// createIndexes: فهرس age مع فهرس email الفريد في استدعاء واحد
const names = db.users.createIndexes([
  { key: { age: 1 } },
  { key: { email: 1 }, unique: true }
])
names

المخرجات:

[ 'age_1', 'email_1' ]

📌 ملاحظات

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

📚 دروس ذات صلة

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

QcreateIndexes أم createIndex — أيهما أفضل؟
Aاستخدم createIndexes() لبناء عدة فهارس في طلب واحد؛ وcreateIndex() أنظف قراءةً لفهرس واحد.
Qهل يمكن لـ createIndexes خلط فهارس عادية وفريدة؟
Aنعم — أعطِ كل تعريف خياراته الخاصة، مثل {key: {age: 1}} و {key: {email: 1}, unique: true}.
Qماذا يحدث عند إنشاء فهرس مكرر؟
Aيُتخطى الفهرس المتطابق ويُعاد اسمه الموجود — دون خطأ.
Web-Tutorial.com

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

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

100%