AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
Docs Menu

$count(集計ステージ)

$count

ステージに入力されたドキュメントの数を含むドキュメントを次のステージに渡します。

注意

曖昧さ回避

このページでは、$count 集計パイプライン ステージについて説明します。$count もこれらの他のコンテキストで使用できます。

次の環境でホストされる配置には $count を使用できます。

  • MongoDB Atlas: The fully managed service for MongoDB deployments in the cloud
  • MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン

  • MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン

$count の構文は次のとおりです。

{ $count: <string> }

<string> はカウントを値として持つ出力フィールドの名前です。<string> には空でない文字列であること、$ で始まらないこと、. 文字を含まないことという条件があります。

戻り値の型は、カウントの最終値を保存できる最小の型で表されます:integer →long →double

The $count stage is equivalent to the following $group and $project sequence:

db.collection.aggregate( [
{ $group: { _id: null, myCount: { $sum: 1 } } },
{ $project: { _id: 0 } }
] )

myCount は、カウントを保存する出力フィールドです。 この出力フィールドには別の名前を指定できます。

入力データセットが空の場合、$count は結果を返しません。

Tip

db.collection.countDocuments() は $group 集計ステージを $sum 式でラップします。

このページの例では、sample_mflix データセット のデータを使用しています。自己管理型 MongoDB 配置にこのデータセットをロードする方法の詳細については、「サンプル データセットのロード」を参照してください。サンプル データベースに何らかの変更を加えた場合は、今ページの例を実行するには、データベースを削除して再作成する必要がある可能性があります。

次の集計操作には 2 つのステージがあります。

  1. $match ステージでは、metacritic が 100 に等しいドキュメントをフィルタリングして、それらのドキュメントのみを次のステージに渡します。

  2. $count ステージは、集計パイプラインに残っているドキュメントの数を返し、その値を perfect_score_count というフィールドに割り当てます。

db.movies.aggregate( [
{ $match: { metacritic: { $eq: 100 } } },
{ $count: "perfect_score_count" }
] )
[ { perfect_score_count: 8 } ]
このページを評価