Mongodb: كيفية حساب متوسط قيمة الحقل
يمكنك استخدام الطرق التالية لحساب متوسط قيمة الحقل في MongoDB:
الطريقة الأولى: حساب متوسط المجال
db.collection.aggregate([{ $group : {_id: null , avg_val:{$avg: " $valueField "}}}])
الطريقة الثانية: حساب متوسط الحقل لكل مجموعة
db.collection.aggregate([{ $group : {_id: " $groupField ", avg_val:{$avg: " $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 , avg_val:{$avg: " $points "}}}])
يقوم هذا الاستعلام بإرجاع النتائج التالية:
{ _id: null , avg_val: 26 }
من النتائج يمكننا أن نرى أن متوسط القيمة في حقل النقاط هو 26 .
يمكننا التحقق يدويًا من صحة ذلك عن طريق حساب متوسط قيم النقاط يدويًا:
متوسط النقاط: (30 + 30 + 20 + 25 + 25) / 5 = 26 .
مثال 2: حساب متوسط الحقل حسب المجموعة
يمكننا استخدام الكود التالي لحساب متوسط قيمة حقل النقاط ، مجمعة حسب حقل الفريق :
db.teams.aggregate([{ $group : {_id: " $team ", avg_val:{$avg: " $points "}}}])
يقوم هذا الاستعلام بإرجاع النتائج التالية:
{ _id: ' Spurs ', avg_val: 23.333333333333332 } { _id: ' Mavs ', avg_val: 30 }
ومن النتائج يمكننا أن نرى:
- متوسط قيمة النقاط لتوتنهام هو 23.33 .
- متوسط قيمة النقطة لـ Mavs هو 30 .
ملاحظة : يمكنك العثور على الوثائق الكاملة للدالة $avg هنا .
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ العمليات الشائعة الأخرى في MongoDB:
MongoDB: كيفية إضافة حقل جديد
MongoDB: كيفية حذف حقل
MongoDB: كيفية التجميع والعد
MongoDB: كيفية التجميع حسب حقول متعددة