MongoDB – $group と $sumを組み合わせた例

MongoDB

MongoDB Exercises  $group 演算子 

使用例と説明

以下は、MongoDBの集計パイプライン操作で $group$sum を組み合わせた例です。この例では、あるカテゴリに属する商品の売上合計を計算します。

例えば、以下のような商品ドキュメントがあるとします:

[
  {
    "_id": 1,
    "category": "Electronics",
    "name": "Laptop",
    "price": 800,
    "quantity": 5
  },
  {
    "_id": 2,
    "category": "Electronics",
    "name": "Smartphone",
    "price": 400,
    "quantity": 10
  },
  {
    "_id": 3,
    "category": "Clothing",
    "name": "T-shirt",
    "price": 20,
    "quantity": 50
  }
]

このドキュメントの集合を対象に、カテゴリごとの売上合計を計算するために、次の集計パイプラインを使用します:

db.products.aggregate([
  {
    $group: {
      _id: "$category",
      totalRevenue: {
        $sum: { $multiply: ["$price", "$quantity"] }
      }
    }
  }
])

この集計操作では、以下のステップが行われます:

  1. $group ステージ:$category フィールドを基準に商品ドキュメントをグループ化し、各カテゴリ内の商品をまとめます。
  2. $sum ステージ:$multiply を使用して、各商品の売上額(価格 × 数量)を計算し、カテゴリごとに売上の合計を計算します。

結果として、以下のような出力が得られるでしょう:

[
  {
    "_id": "Electronics",
    "totalRevenue": 10000
  },
  {
    "_id": "Clothing",
    "totalRevenue": 1000
  }
]

要するに、この例では $group ステージと $sum 演算子を使用して、カテゴリごとの商品売上の合計を計算しています。

$group演算子について…

$group と $avg を使用した例

コメント

タイトルとURLをコピーしました