定義
グループにあるドキュメントの数を返します。
$count アキュムレータは次のステージで使用可能です。
注意
曖昧さ回避
このページでは、$count集計アキュムレータについて説明します。また、これらの他のコンテキストでも $count を使用できます。
$count (aggregation stage), これは入力ドキュメントの数を返します。$count (window function)は、$setWindowFieldsステージで、特定のウィンドウ内のドキュメントの数を返すために使用されます。
構文
{ $count: { } }$count アキュムレータはパラメータを受け入れません。
Tip
$countアキュムレータは、 $groupステージ内で{ $sum: 1 }を使用することと機能的に同等です。
例
このページの例では、sample_mflix データセット のデータを使用しています。自己管理型 MongoDB 配置にこのデータセットをロードする方法の詳細については、「サンプル データセットのロード」を参照してください。サンプル データベースに何らかの変更を加えた場合は、今ページの例を実行するには、データベースを削除して再作成する必要がある可能性があります。
この例では、 ステージで$count $groupを使用して、選択されたsample_mflix.movies ごとに コレクション内の映画の数をカウントします。genre
db.movies.aggregate( [ { $unwind: "$genres" }, { $match: { genres: { $in: [ "Drama", "Short" ] } } }, { $group: { _id: "$genres", countNumberOfMoviesForGenre: { $count: {} } } }, { $sort: { _id: 1 } }] )この例では、次のことが行われます。
$unwind: "$genres"genres配列内の各値に対してドキュメントを作成します。$matchドキュメントをDramaとShortのジャンルに限定します。_id: "$genres"ドキュメントをジャンル別にグループ化します。$count: {}countNumberOfMoviesForGenreフィールドに、同じジャンルを持つ映画の数を設定します。
出力には、countNumberOfMoviesForGenre フィールドにおける Drama と Short の映画の数が表示されます。