$indexOfArray (العثور على فهرس عنصر في مصفوفة)

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

$indexOfArray (العثور على فهرس عنصر في مصفوفة)

يُرجع $indexOfArray فهرس أول ظهور لقيمة في مصفوفة، أو -1 عند غيابها. تشمل الاستخدامات النموذجية التحقق من وجود وسم معين وتحديد موقع عنصر لقراءته عبر $arrayElemAt. تحصر الوسيطات الاختيارية البحث في نطاق فهارس start/end. وهو نظير المصفوفات لـ $indexOfBytes/$indexOfCP اللذين يعملان على السلاسل النصية. تستخدم المطابقة مساواة صارمة، لذا يجب أن تتطابق الكائنات ككل.

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

📝 الصيغة

{ $indexOfArray: [ <array>, <searchValue>, <start>, <end> ] }

⚙️ المعلمات

مصفوفةالمصفوفة المراد البحث فيها.
قيمة البحثالقيمة المراد إيجادها.
فهرس البدايةفهرس البداية اختياري وشامل؛ الافتراضي 0.
فهرس النهايةفهرس النهاية اختياري وغير شامل.

القيمة المرجعة:فهرس أول تطابق، أو -1 عند عدم العثور عليه

▶ مثال

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

// $indexOfArray: تحديد موقع الوسم 'urgent'
db.tasks.aggregate([
  { $project: {
      urgentPos: { $indexOfArray: ['$tags', 'urgent'] }
  } }
])

المخرجات:

{ '_id': 1, 'urgentPos': 2 }
{ '_id': 2, 'urgentPos': -1 }

📌 ملاحظات

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

📚 دروس ذات صلة

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

Qماذا يُرجع $indexOfArray عند غياب العنصر؟
Aيُرجع -1؛ تحقق بـ $ne لاختبار الوجود.
Qهل يمكنني حصر نطاق البحث؟
Aنعم — الوسيطتان الثالثة والرابعة هما فهرسا البداية (شامل) والنهاية (حصري).
Qكيف أبحث عن عنصر كائن؟
Aمرّر الكائن كاملًا للمساواة الصارمة، مثل { $indexOfArray: ['$arr', { a: 1 }] }.
Web-Tutorial.com

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

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

100%