$or (العامل المنطقي OR)
آخر تحديث: 2026-10-09
$or (العامل المنطقي OR)
يجمع $or مسندات الاستعلام؛ يطابق المستند إذا حقق أيًا منها. `{ $or: [ { price: { $lt: 5 } }, { sale: true } ] }`. يمكن لـ MongoDB استخدام فهرس لكل بند ودمج النتائج. بالنسبة للعديد من القيم على حقل واحد فضّل $in؛ واستخدم $or لمنطق "أي من" عبر حقول مختلفة.
| الفئة | المنطقي |
|---|---|
| إصدار MongoDB | 1.0+ |
| لغة المثال | mongosh (الطرفية) |
📝 الصيغة
{ $or: [ { <condition1> }, { <condition2> }, ... ] }
⚙️ المعلمات
| مصفوفة شروط | مصفوفة من شروط الاستعلام؛ يكفي تحقق أيٍّ منها. |
|---|
القيمة المرجعة:مؤشر المستندات المطابقة
▶ مثال
نفّذ الأوامر التالية في mongosh المحلي لديك (يتطلب تشغيل mongod):
// $or: السعر أقل من 5 أو المنتج في عرض بيع
db.products.find({
$or: [
{ price: { $lt: 5 } },
{ sale: true }
]
})
المخرجات:
// يُرجع المنتجات التي تحقق أيًا من الشرطين (كلاهما يُحسب مرة واحدة)
📌 ملاحظات
- فضّل $in على $or للعديد من القيم على حقل واحد
- يتداخل $or مع العوامل المنطقية الأخرى؛ انتبه للبنية مع $and
- يمكن لكل بند استخدام فهرس وتُدمج النتائج؛ الفحص الكامل هو الخيار الاحتياطي
🏷️ وسوم ذات صلة
💡 حالات ذات صلة
📚 دروس ذات صلة
❓ الأسئلة الشائعة
Qما الفرق بين $or و $in؟
A$in يختبر عدة قيم على حقل واحد؛ بينما يدمج $or حقولًا مختلفة. لقيم متعددة على الحقل نفسه: استخدم $in.
Qهل يُرجع $or نسخًا مكررة عندما تحقق عدة شروط؟
Aلا. يُرجع المستند مرة واحدة على الأكثر حتى لو حقق عدة شروط.
Qهل يمكن لـ $or أن يحتوي $and؟
Aنعم، يمكن أن يكون كل عنصر في $or نفسه $and أو $nor وهكذا.