$in (في مصفوفة)

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

$in (في مصفوفة)

يقوم $in باختيار المستندات التي تساوي قيمة حقلها أي قيمة من مصفوفة معينة — وهو اختصار مناسب لـ $or. فالعبارة `{ age: { $in: [18, 21, 30] } }` تطابق المستندات التي عمرها 18 أو 21 أو 30. وهو أكثر ملاءمة للفهارس من تكرار $eq أو $or، وله دلالات خاصة مع الحقول من نوع مصفوفة.

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

📝 الصيغة

{ <field>: { $in: [ <value1>, <value2>, ... ] } }

▶ مثال

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

// $in: مطابقة العمر 18 أو 21 أو 30
db.users.find({ age: { $in: [18, 21, 30] } })

المخرجات:

// يُرجع المستندات التي يكون عمرها أيًا من القيم المدرجة

📌 ملاحظات

📚 دروس ذات صلة

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

Qأيهما أسرع: $in أم $or؟
A$in أسرع. فهو يُجري بحثًا واحدًا في الفهرس على حقل واحد، بينما يدمج $or عدة فروع فهرس؛ كما يدعم $in التعبيرات النمطية.
Qهل $in مكافئ لـ $or مع عدة $eq؟
Aمكافئ وظيفيًا، لكن $in أكثر إيجازًا وأداءً أفضل مع مسح فهرس واحد. كما يقبل معاملات $type أو تعبيرًا نمطيًا للمطابقات ذات الأشكال المختلطة.
Qكيف يعمل $in على الحقول من نوع مصفوفة؟
Aيطابق إذا ساوى أي عنصر من عناصر المصفوفة أي قيمة في قائمة $in، مثل $elemMatch مع $in لكن بإيجاز أكبر.
Web-Tutorial.com

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

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

100%