MongoDB 速習チュートリアル

MongoDB アグリゲーションパイプライン

アグリゲーション(集計)操作を使用すると、データのグループ化、ソート、計算の実行、データ分析など、多岐にわたる処理が可能になります。

1. アグリゲーションパイプラインの仕組み

アグリゲーションパイプラインは、1つ以上の「ステージ(Stage)」で構成されます。ここで非常に重要なのは、ステージの順序です。各ステージは、前のステージから渡された結果に対して処理を行います。

1.1 コード例

以下の例では、2つのステージを使用してデータを処理しています。

db.posts.aggregate([
  // ステージ 1: "likes" が 1 より大きいドキュメントのみを抽出(マッチング)
  {
    $match: { likes: { $gt: 1 } }
  },
  // ステージ 2: カテゴリごとにドキュメントをグループ化し、各カテゴリの likes の合計を算出
  {
    $group: { _id: "$category", totalLikes: { $sum: "$likes" } }
  }
])

2. サンプルデータのロード

アグリゲーションパイプラインの各ステージの詳細を学ぶために、まずはデータベースにサンプルデータをロードしましょう。

  1. MongoDB Atlas のダッシュボードから「Databases」に移動します。
  2. 対象クラスターの三点リーダー(...)ボタンをクリックし、「Load Sample Dataset」を選択します。
  3. これにより、複数のサンプルデータセットがデータベースにロードされます。

次のセクションからは、このサンプルデータを使用して、様々なアグリゲーションパイプラインのステージについて詳しく深掘りしていきます。データ分析の強力な武器を手に入れましょう。