$group
このアグリゲーションステージは、提供された一意の _id 式(Expression)に基づいてドキュメントをグループ化します。
ここで指定する _id 式を、各ドキュメントにデフォルトで割り当てられる _id (ObjectId) と混同しないように注意してください。$group ステージにおける _id は、「どのフィールドを基準にグループ化するか」を定義するためのものです。
1. $group ステージの使用例
以下の例では、「アグリゲーション入門」セクションでロードしたサンプルデータセットの中から、sample_airbnb データベースを使用します。
1.1 コード例:プロパティタイプの一覧取得
// property_type フィールドに基づいてグループ化し、一意のリストを取得する
db.listingsAndReviews.aggregate(
[
{
$group : { _id : "$property_type" }
}
]
)このクエリを実行すると、property_type フィールドに含まれる重複を除いた一意の値(ディスティンクト値)が返されます。