$cond (التعبير الشرطي)

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

$cond (التعبير الشرطي)

ينفذ $cond المنطق الشرطي الثلاثي إذا-ثم-وإلا، وهو عامل التفرع الأساسي في تعبيرات التجميع. يدعم صيغة الكائن { if, then, else } وصيغة المصفوفة [ condition, trueResult, falseResult ]، وهما متكافئتان. الاستخدامات النموذجية: حساب مستويات الشحن من مبالغ الطلبات أو تحويل رموز الحالة إلى تسميات. يتبع الشرط قواعد الصدق، لذا تعمل القيم غير المنطقية أيضًا. للتفرعات الكثيرة، $switch أوضح.

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

📝 الصيغة

{ $cond: { if: <condition>, then: <result1>, else: <result2> } } or { $cond: [ <condition>, <result1>, <result2> ] }

⚙️ المعلمات

if/الشرطالتعبير الذي يختار الفرع، ويُحكَم حسب كونه صحيحًا.
then/النتيجة 1النتيجة عندما يكون الشرط صحيحًا.
else/النتيجة 2النتيجة عندما يكون الشرط خاطئًا.

القيمة المرجعة:‏result1 عندما يكون الشرط صحيحًا، وإلا result2

▶ مثال

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

// $cond: المبالغ فوق 100 هي طلبات كبيرة
db.orders.aggregate([
  { $project: {
      level: { $cond: { if: { $gt: ['$amount', 100] }, then: 'big', else: 'small' } }
  } }
])

المخرجات:

{ '_id': 1, 'level': 'big' }
{ '_id': 2, 'level': 'small' }

📌 ملاحظات

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

📚 دروس ذات صلة

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

Qهل يمكن أن يكون الشرط غير منطقي؟
Aنعم — تنطبق قواعد الصدق؛ 0 و null و '' كاذبة.
Qما الفرق بين الصيغتين؟
Aلا شيء — الدلالات متطابقة، والاختلاف في الصياغة فقط.
Qكيف أتعامل مع فروع كثيرة؟
Aاستخدم $switch، الذي يطابق أول فرع صادق بالترتيب.
Web-Tutorial.com

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

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

100%