$count (件数アキュムレータ)

最終更新:2026-10-09

$count (件数アキュムレータ)

$count は、$group 内でドキュメント数を数えるアキュムレータで、MongoDB 5.0 以降で利用できます。{ $sum: 1 } の意味が明確になった同等形です。$count ステージとの違いに注意: ステージは { count: N } のドキュメントを出力しますが、アキュムレータはグループごとの数値の件数を返します。

カテゴリアキュムレータ
MongoDB バージョン1.0+
例の言語mongosh(シェル)

📝 構文

{ $group: { _id: <key>, n: { $count: {} } } }

戻り値:グループ内のドキュメント数の整数

▶ 例

以下のコマンドをローカルの mongosh で実行してください(mongod が起動済みである必要があります):

// $count: ステータスごとの注文数
db.orders.aggregate([
  { $group: { _id: '$status', n: { $count: {} } } }
])

出力:

{ "_id": "A", "n": 25 }
{ "_id": "B", "n": 10 }

📌 注意事項

📚 関連チュートリアル

❓ よくある質問

Q$count アキュムレータと $count ステージの違いは?
Aアキュムレータはグループごとの件数を返します。ステージは単一の { count: N } ドキュメントを出力します。
Q$count アキュムレータは引数を取りますか?
Aいいえ。{ $count: {} } と書くだけです。
Q$count と「$sum: 1」はどちらを使うべきですか?
A性能は同じで読みやすいため、$count を好んで使います。
Web-Tutorial.com

Web-Tutorial 技術チーム

複数の開発者によって共同維持されているプログラミングチュートリアルプラットフォーム。各チュートリアルは専門分野の開発者が執筆・レビューしています。正確で信頼性の高いコンテンツを目指しています — 問題を見つけた場合はお知らせください。

100%