MongoDBの集計パイプラインを使用したデータ分析の基本


  1. データのプロジェクション (Projection): データの特定のフィールドのみを取得するために、$project演算子を使用します。以下のコード例では、名前、料理の種類、住所のフィールドのみを取得しています。

    db.restaurants.aggregate([
     {
       $project: {
         "name": 1,
         "cuisine": 1,
         "address": 1
       }
     },
     {
       $limit: 5
     }
    ])
  2. データのフィルタリング (Filtering): 特定の条件に一致するデータのみを抽出するために、$match演算子を使用します。以下のコード例では、料理の種類が"アメリカ料理"であるデータのみを取得しています。

    db.restaurants.aggregate([
     {
       $match: {
         "cuisine": "American"
       }
     },
     {
       $limit: 5
     }
    ])
  3. データのグループ化 (Grouping): 特定のフィールドでデータをグループ化するために、$group演算子を使用します。以下のコード例では、料理の種類ごとにグループ化し、それぞれのグループの件数を取得しています。

    db.restaurants.aggregate([
     {
       $group: {
         "_id": "$cuisine",
         "count": { $sum: 1 }
       }
     }
    ])
  4. データのソート (Sorting): 特定のフィールドでデータをソートするために、$sort演算子を使用します。以下のコード例では、名前の昇順でデータをソートしています。

    db.restaurants.aggregate([
     {
       $sort: {
         "name": 1
       }
     },
     {
       $limit: 5
     }
    ])

これらはMongoDBの集計パイプラインを使用した基本的なデータ分析の方法です。さらに高度な集計や統計処理も可能ですが、ここでは基本的な操作のみを紹介しました。詳細なドキュメントや他の集計演算子については、MongoDBの公式ドキュメントを参照してください。