$literal (قيمة حرفية)
آخر تحديث: 2026-10-09
$literal (قيمة حرفية)
يُرجع $literal قيمة دون تحليلها كتعبير. يُستخدم عندما يجب أن تبقى سلسلة تبدأ بـ $ نصًا عاديًا، أو عندما يجب أن يحتفظ عدد حرفي بنوعه الدقيق. مثلًا { $project: { prefix: { $literal: '$' } } } يُخرج السلسلة '$'، بينما كتابة '$' مباشرة ستُعامل كمسار حقل. $literal مفيد أيضًا للوسائط المنطقية أو الرقمية الحرفية داخل $cond أو $switch. وهو الطريقة الأكثر إيجازًا لإصدار ثابت في $project.
| الفئة | الحرفي والمتغير والكائن |
|---|---|
| إصدار MongoDB | 1.0+ |
| لغة المثال | mongosh (الطرفية) |
📝 الصيغة
{ $literal: <value> }
⚙️ المعلمات
| قيمة | أي قيمة أو تعبير؛ النصوص التي تبدأ بـ $ تُعامَل حرفيًا. |
|---|
القيمة المرجعة:القيمة المُمرَّرة، تُعاد كما هي دون تحليل التعبير
▶ مثال
نفّذ الأوامر التالية في mongosh المحلي لديك (يتطلب تشغيل mongod):
// $literal: إصدار ثوابت نصية تبدأ بـ $
db.orders.aggregate([
{ $project: {
currency: { $literal: '$' },
rate: { $literal: 0.08 }
} }
])
المخرجات:
{ '_id': 1, 'currency': '$', 'rate': 0.08 }
{ '_id': 2, 'currency': '$', 'rate': 0.08 }
📌 ملاحظات
- السلسلة التي تبدأ بـ $ مكتوبة مباشرة تُحلل كمسار حقل؛ استخدم $literal
- لا تُقيَّم التعبيرات داخل $literal
- يُقرن غالبًا بـ $cond أو $ifNull لتوفير القيم الافتراضية
🏷️ وسوم ذات صلة
💡 حالات ذات صلة
مزيد من الحالات العملية قريبًا.
📚 دروس ذات صلة
❓ الأسئلة الشائعة
Qما فائدة $literal؟
Aإصدار ثوابت مثل السلاسل التي تبدأ بـ $ دون تحليلها كمسارات حقول.
Qماذا يحدث بدون $literal؟
Aتُحلل السلسلة $ كمسار حقل وتُقيَّم إلى null عند غياب الحقل.
Qهل يمكن لـ $literal لفّ تعبير؟
Aلن يُقيَّم؛ يُعاد محتوى الحرفية كما هو.