使用例と説明
仮定して、私たちには sales
という名前のコレクションがあり、売上記録が含まれており、それぞれの記録には product
(製品名)、category
(製品カテゴリ)、amount
(売上額)のフィールドがあります。私たちは各製品カテゴリの平均売上額を計算したいと考えています。
以下は $group
と $avg
を使用した例です:
[
{ "_id": 1, "product": "Product A", "category": "Category 1", "amount": 100 },
{ "_id": 2, "product": "Product B", "category": "Category 1", "amount": 150 },
{ "_id": 3, "product": "Product C", "category": "Category 2", "amount": 200 },
{ "_id": 4, "product": "Product D", "category": "Category 2", "amount": 250 }
]
以下のように聚合パイプラインを使用します:
db.sales.aggregate([
{
$group: {
_id: "$category", // カテゴリでグループ化
avgAmount: { $avg: "$amount" } // 平均売上額を計算
}
}
])
この例では、$group
ステージを使用して売上記録を category
フィールドでグループ化します。そして、$avg
演算子を使用して各カテゴリの平均売上額を計算し、結果を avgAmount
フィールドとして返します。
実行された結果は次のようになります:
[
{ "_id": "Category 1", "avgAmount": 125 },
{ "_id": "Category 2", "avgAmount": 225 }
]
この結果は、それぞれの製品カテゴリの平均売上額を示しています。
コメント