MongoDB 速習チュートリアル

$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 フィールドに含まれる重複を除いた一意の値(ディスティンクト値)が返されます。