定義
グループにあるドキュメントの数を返します。
$count アキュムレータは次のステージで使用可能です。
注意
曖昧さ回避
This page describes the $count aggregation accumulator. You can also use $count in these other contexts:
$count (aggregation stage), これは入力ドキュメントの数を返します。$count (window function)は、$setWindowFieldsステージで、特定のウィンドウ内のドキュメントの数を返すために使用されます。
構文
{ $count: { } }
$count アキュムレータはパラメータを受け入れません。
Tip
$countアキュムレータは、 $groupステージ内で{ $sum: 1 }を使用することと機能的に同等です。
例
このページの例では、sample_mflix データセット のデータを使用しています。自己管理型 MongoDB 配置にこのデータセットをロードする方法の詳細については、「サンプル データセットのロード」を参照してください。サンプル データベースに何らかの変更を加えた場合は、今ページの例を実行するには、データベースを削除して再作成する必要がある可能性があります。
This example uses $count in the $group stage to count the number of movies in the sample_mflix.movies collection for each selected 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 の映画の数が表示されます。