Mongodb: किसी फ़ील्ड के औसत मूल्य की गणना कैसे करें
MongoDB में किसी फ़ील्ड के औसत मूल्य की गणना करने के लिए आप निम्नलिखित विधियों का उपयोग कर सकते हैं:
विधि 1: फ़ील्ड औसत की गणना करें
db.collection.aggregate([{ $group : {_id: null , avg_val:{$avg: " $valueField "}}}])
विधि 2: प्रति समूह फ़ील्ड औसत की गणना करें
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 है।
- माव्स के लिए औसत अंक मान 30 है।
नोट : आप $avg फ़ंक्शन के लिए संपूर्ण दस्तावेज़ यहां पा सकते हैं।
अतिरिक्त संसाधन
निम्नलिखित ट्यूटोरियल बताते हैं कि MongoDB में अन्य सामान्य ऑपरेशन कैसे करें:
MongoDB: एक नया फ़ील्ड कैसे जोड़ें
MongoDB: किसी फ़ील्ड को कैसे हटाएं
MongoDB: कैसे समूहबद्ध करें और गिनें
MongoDB: एकाधिक फ़ील्ड के आधार पर समूह कैसे बनाएं