$sum (مُراكم المجموع)

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

$sum (مُراكم المجموع)

$sum مُراكم يحسب مجموع حقل محدد عبر مجموعة (أو عدًّا عند إعطاء الحرفية 1). يُستخدم داخل $group للمجاميع والأعداد وفي $project لجمع عناصر المصفوفات. كتعبير يجمع تعبيرًا محددًا عبر كل مستندات الإدخال.

الفئةالتراكميات
إصدار MongoDB1.0+
لغة المثالmongosh (الطرفية)

📝 الصيغة

// sum داخل $group
{ $group: { _id: <key>, total: { $sum: "$field" } } }
// count
{ $group: { _id: <key>, count: { $sum: 1 } } }

▶ مثال

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

// $sum: الإجمالي والعدد لكل صنف
db.sales.aggregate([
  { $group: { _id: "$item", total: { $sum: "$price" }, count: { $sum: 1 } } }
])

المخرجات:

{ "_id": "abc", "total": 25, "count": 2 }
{ "_id": "xyz", "total": 30, "count": 3 }

📌 ملاحظات

📚 دروس ذات صلة

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

Qماذا يحدث عندما يصادف $sum حقل سلسلة؟
Aتُتخطى السلاسل والقيم غير الرقمية (دون خطأ). للمعالجة الصارمة، حوّل بـ $toInt/$toDouble أو وفّر قيمة افتراضية بـ $ifNull.
Qهل يجب استخدام مُراكم $sum داخل $group فقط؟
Aكمُراكم فهو خاص بـ $group. لكن $sum يعمل أيضًا كتعبير تجميع عادي، مثل $project لجمع مصفوفة، بنفس الدلالات.
Qماذا يُرجع $sum لمصفوفة فارغة؟
Aيُرجع 0. في $group، إذا لم يكن للمجموعة مستندات مطابقة أو كانت المصفوفة فارغة، يتراكم $sum إلى 0، وهو مفيد كاحتياط عدّ.
Web-Tutorial.com

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

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

100%