$eq (المساواة)
آخر تحديث: 2026-10-09
$eq (المساواة)
$eq هو مقارنة المساواة بصيغة التعبير، يأخذ وسيطتين ويُرجع قيمة منطقية. يعمل في سياقات التعبير مثل $project أو $expr داخل $match، ويختلف عن عامل الاستعلام: الاستعلامات تكتب { field: { $eq: value } } بينما التعبيرات تكتب { $eq: [expr1, expr2] }. يُستخدم لمقارنة الحقول مع بعضها أو لتغذية شروط $cond. تتبع المقارنات ترتيب أنواع BSON، و null يساوي null.
| الفئة | المجموعة والشرط والتحويل |
|---|---|
| إصدار MongoDB | 1.0+ |
| لغة المثال | mongosh (الطرفية) |
📝 الصيغة
{ $eq: [ <expression1>, <expression2> ] }
⚙️ المعلمات
| تعبير 1 | التعبير الأول للمقارنة. |
|---|---|
| تعبير 2 | التعبير الثاني للمقارنة. |
القيمة المرجعة:true عندما تتساوى القيم، وإلا false
▶ مثال
نفّذ الأوامر التالية في mongosh المحلي لديك (يتطلب تشغيل mongod):
// $eq: التحقق من الشحن المجاني
db.orders.aggregate([
{ $project: {
freeShip: { $eq: ['$shipCost', 0] }
} }
])
المخرجات:
{ '_id': 1, 'freeShip': true }
{ '_id': 2, 'freeShip': false }
📌 ملاحظات
- سياق التعبير يستخدم صيغة مصفوفة؛ وسياق الاستعلام يستخدم حقلًا وقيمة
- null مقارنةً بـ null تُرجع true
- تتبع المقارنات ترتيب أنواع BSON
🏷️ وسوم ذات صلة
💡 حالات ذات صلة
مزيد من الحالات العملية قريبًا.
📚 دروس ذات صلة
❓ الأسئلة الشائعة
Qكيف تختلف صياغة $eq بين التعبيرات والاستعلامات؟
Aالاستعلامات تكتب { field: { $eq: value } }؛ والتعبيرات تكتب { $eq: [expr1, expr2] }.
Qكيف يقارن $eq null؟
Anull يساوي null ويختلف عن كل نوع آخر.
Qهل يمكن لـ $eq مقارنة مصفوفات؟
Aنعم، عنصرًا بعنصر؛ والترتيب المختلف يعني عدم المساواة.