MongoDB 速習チュートリアル

$count

1. $count ステージの概要

このアグリゲーションステージは、前のステージから渡されたドキュメントの総数をカウントします。

データ分析のプロセスにおいて、特定のフィルタリングを適用した結果が最終的に何件になったかを把握する際に非常に便利なステージです。

2. $count ステージの使用例

この例では、「アグリゲーション入門」セクションでロードしたサンプルデータセットの中から、sample_restaurants データベースを使用します。

2.1 コード例:特定条件に合致するドキュメントの総数取得

ここでは、料理(cuisine)が "Chinese"(中華料理)であるレストランの総数をカウントし、その結果を totalChinese というフィールド名で出力します。

db.restaurants.aggregate([
  {
    // ステージ 1: cuisine が "Chinese" のドキュメントを抽出(マッチング)
    $match: { "cuisine": "Chinese" }
  },
  {
    // ステージ 2: 前のステージから渡されたドキュメント数を "totalChinese" というフィールド名でカウント
    $count: "totalChinese"
  }
])

このクエリを実行すると、$count ステージに到達したドキュメントの数が、"totalChinese" という名前のフィールドを持つオブジェクトとして返されます。