Mongodb: bir alanın toplamı nasıl hesaplanır
MongoDB’de bir alandaki değerlerin toplamını hesaplamak için aşağıdaki yöntemleri kullanabilirsiniz:
Yöntem 1: Alanın toplamını hesaplayın
db.collection.aggregate([{ $group : {_id: null , sum_val:{$sum: " $valueField "}}}])
Yöntem 2: alanların toplamını gruba göre hesaplayın
db.collection.aggregate([{ $group : {_id: " $groupField ", sum_val:{$sum: " $valueField "}}}])
Aşağıdaki örnekler, her yöntemin aşağıdaki belgelere sahip bir koleksiyon ekibiyle nasıl kullanılacağını gösterir :
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})
Örnek 1: alanın toplamını hesaplayın
Puan alanındaki değerlerin toplamını hesaplamak için aşağıdaki kodu kullanabiliriz:
db.teams.aggregate([{ $group : {_id: null , sum_val:{$sum: " $points "}}}])
Bu sorgu aşağıdaki sonuçları döndürür:
{ _id: null , sum_val: 130}
Sonuçlardan puan alanındaki değerlerin toplamının 130 olduğunu görebiliriz.
Puan değerlerinin toplamını manuel olarak hesaplayarak bunun doğru olduğunu manuel olarak doğrulayabiliriz:
Puanların toplamı: 30 + 30 + 20 + 25 + 25 = 130 .
Örnek 2: Alanların toplamını gruba göre hesaplama
Puan alanındaki değerlerin takım alanına göre gruplandırılmış toplamını hesaplamak için aşağıdaki kodu kullanabiliriz:
db.teams.aggregate([{ $group : {_id: " $team ", sum_val:{$sum: " $points "}}}])
Bu sorgu aşağıdaki sonuçları döndürür:
{ _id: ' Spurs ', sum_val: 60 } { _id: ' Mavs ', sum_val: 70 }
Sonuçlardan şunları görebiliriz:
- Spurs’un toplam puanı 60 .
- Mavs’in toplam puanı 70 .
Not : $sum işlevine ilişkin tüm belgeleri burada bulabilirsiniz.
Ek kaynaklar
Aşağıdaki eğitimlerde MongoDB’de diğer yaygın işlemlerin nasıl gerçekleştirileceği açıklanmaktadır:
MongoDB’de medyan değer nasıl hesaplanır
MongoDB’de ortalama değer nasıl hesaplanır
MongoDB’de maksimum değer nasıl hesaplanır