$ifNull (قيمة بديلة للفارغ)
آخر تحديث: 2026-10-09
$ifNull (قيمة بديلة للفارغ)
يُرجع $ifNull قيمة بديلة عندما يُقيَّم تعبير إلى null أو يكون حقل مفقودًا — العامل الأكثر شيوعًا للتعامل مع البيانات الفارغة. الاستخدامات النموذجية: توفير سيرة افتراضية للملفات المفقودة أو استبدال الأسعار الفارغة بـ 0 قبل الحسابات. منذ MongoDB 4.4 يقبل وسائط متعددة ويُرجع أول قيمة غير فارغة. لا يُفعَّل إلا على null والمفقود؛ وتمر السلاسل الفارغة والمصفوفات الفارغة دون تغيير، لذا ادمج مع $eq أو $size عندما يجب معاملتها كفارغة.
| الفئة | المجموعة والشرط والتحويل |
|---|---|
| إصدار MongoDB | 1.0+ |
| لغة المثال | mongosh (الطرفية) |
📝 الصيغة
{ $ifNull: [ <expression>, <replacement> ] }
⚙️ المعلمات
| تعبير | التعبير المراد فحصه. |
|---|---|
| قيمة الاستبدال | القيمة المُرجَعة عندما يكون التعبير null أو مفقودًا. |
القيمة المرجعة:القيمة الأصلية عندما لا تكون null، وإلا القيمة البديلة
▶ مثال
نفّذ الأوامر التالية في mongosh المحلي لديك (يتطلب تشغيل mongod):
// $ifNull: سيرة افتراضية عند الغياب
db.users.aggregate([
{ $project: {
bio: { $ifNull: ['$bio', 'This user stays low-key'] }
} }
])
المخرجات:
{ '_id': 1, 'bio': 'This user stays low-key' }
📌 ملاحظات
- الحقل المفقود يفعّل البديل أيضًا، دون خطأ
- السلاسل والمصفوفات الفارغة لا تفعّل؛ افحص بـ $eq/$size أولًا عند الحاجة
- منذ 4.4 يقبل وسائط متعددة: { $ifNull: ['$a', '$b', 'default'] } يُرجع أول قيمة غير فارغة
🏷️ وسوم ذات صلة
💡 حالات ذات صلة
مزيد من الحالات العملية قريبًا.
📚 دروس ذات صلة
❓ الأسئلة الشائعة
Qهل يفعّل الحقل المفقود البديل؟
Aنعم — يتصرف المفقود كـ null ويُرجع البديل.
Qهل تفعّل السلسلة الفارغة البديل؟
Aلا، يُفعَّل على null والمفقود فقط.
Qكيف أستخدم بدائل متعددة؟
Aمرّر عدة وسائط منذ 4.4؛ وأول قيمة غير فارغة تفوز.