Mongodb: フィールドの合計を計算する方法
次のメソッドを使用して、MongoDB のフィールドの値の合計を計算できます。
方法 1: フィールドの合計を計算する
db.collection.aggregate([{ $group : {_id: null , sum_val:{$sum: " $valueField "}}}])
方法 2: グループごとにフィールドの合計を計算する
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です。
- マブスの合計ポイントは70です。
注: $sum関数の完全なドキュメントはここで見つけることができます。
追加リソース
次のチュートリアルでは、MongoDB で他の一般的な操作を実行する方法について説明します。
MongoDBで中央値を計算する方法
MongoDBでの平均値の計算方法
MongoDBの最大値の計算方法