Mongodb: كيفية حساب مجموع الحقل
يمكنك استخدام الطرق التالية لحساب مجموع القيم في حقل في MongoDB:
الطريقة الأولى: حساب مجموع الحقل
db.collection.aggregate([{ $group : {_id: null , sum_val:{$sum: " $valueField "}}}])
الطريقة الثانية: حساب مجموع الحقول حسب المجموعة
db.collection.aggregate([{ $group : {_id: " $groupField ", sum_val:{$sum: " $valueField "}}}])
توضح الأمثلة التالية كيفية استخدام كل طريقة مع فريق التحصيل مع المستندات التالية:
db.teams.insertOne({team: " Mavs ", points: 30, rebounds: 8}) db.teams.insertOne({team: " Mavs ", points: 30, rebounds: 12}) db.teams.insertOne({team: " Spurs ", points: 20, rebounds: 7}) db.teams.insertOne({team: " Spurs ", points: 25, rebounds: 5}) db.teams.insertOne({team: " Spurs ", points: 25, rebounds: 9})
مثال 1: حساب مجموع الحقل
يمكننا استخدام الكود التالي لحساب مجموع القيم في حقل النقاط :
db.teams.aggregate([{ $group : {_id: null , sum_val:{$sum: " $points "}}}])
يقوم هذا الاستعلام بإرجاع النتائج التالية:
{ _id: null , sum_val: 130}
من النتائج يمكننا أن نرى أن مجموع القيم في حقل النقطة هو 130 .
يمكننا التحقق يدويًا من صحة ذلك عن طريق حساب مجموع قيم النقاط يدويًا:
مجموع النقاط: 30 + 30 + 20 + 25 + 25 = 130 .
المثال 2: حساب مجموع الحقول حسب المجموعة
يمكننا استخدام الكود التالي لحساب مجموع القيم في حقل النقاط ، مجمعة حسب حقل الفريق :
db.teams.aggregate([{ $group : {_id: " $team ", sum_val:{$sum: " $points "}}}])
يقوم هذا الاستعلام بإرجاع النتائج التالية:
{ _id: ' Spurs ', sum_val: 60 } { _id: ' Mavs ', sum_val: 70 }
ومن النتائج يمكننا أن نرى:
- مجموع النقاط لتوتنهام هو 60 .
- مجموع نقاط Mavs هو 70 .
ملحوظة : يمكنك العثور على الوثائق الكاملة للدالة $sum هنا .
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ العمليات الشائعة الأخرى في MongoDB:
كيفية حساب القيمة المتوسطة في MongoDB
كيفية حساب متوسط القيمة في MongoDB
كيفية حساب القيمة القصوى في MongoDB