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の最大値の計算方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です