ドキュメントを日/月でグループ化し、出力で月キーを返すには、最初に $project
日付
を使用した適切な形式へのキーフィールド 演算子、特に $dateToString
および$month
>
これは、 $project
$group
ステップですが、 $group
パイプラインは、主にアキュムレータ
に対応しています。 演算子。
上記の$group
$avg
演算子を使用し、 $first
アキュムレータ演算子。
次の集計パイプラインを実行すると、目的の結果が得られます。
db.collection.aggregate([
{ "$group": {
"_id": {
"$dateToString": { "format": "%Y-%m-%d", "date": "$ceatedAt" }
},
"average": { "$avg": "$rating" },
"month": { "$first": { "$month": "$ceatedAt" } },
} }
])