estimatedDocumentCount() (ドキュメント数の推定)
最終更新:2026-10-09
estimatedDocumentCount() (ドキュメント数の推定)
estimatedDocumentCount() はコレクションのメタデータからドキュメント総数を推定します。例: `db.users.estimatedDocumentCount()`。フィルタを受け取らず何もスキャンしないため非常に高速ですが、値が実際とずれる可能性があります(特にフラッシュされていないシャーディングクラスタで)。精度が重要でないダッシュボードや容量見積もりに適しています。正確な件数には countDocuments() を使います。
| カテゴリ | 読み取り |
|---|---|
| MongoDB バージョン | 1.0+ |
| 例の言語 | mongosh(シェル) |
📝 構文
db.<collection>.estimatedDocumentCount()
戻り値:推定総ドキュメント数(整数)。
▶ 例
以下のコマンドをローカルの mongosh で実行してください(mongod が起動済みである必要があります):
// estimatedDocumentCount: ユーザー総数をすばやく確認する
const n = db.users.estimatedDocumentCount()
print('Total users (estimate): ' + n)
出力:
Total users (estimate): 1000
📌 注意事項
- フィルタを受け取らない。コレクション全体のみ
- メタデータベースで、実際より遅れることがある
- 高速だが正確性は保証されない。正確さが重要な場合は countDocuments() を使う
🏷️ 関連タグ
💡 関連ケース
📚 関連チュートリアル
❓ よくある質問
QestimatedDocumentCount が countDocuments より速いのはなぜですか?
Aドキュメントをスキャンせず、コレクションのメタデータから件数を読み取るためです。countDocuments() は実際にフィルタを評価します。
QestimatedDocumentCount は正確ですか?
A通常は近い値ですが保証はありません。書き込みが多い場合やシャーディングで差が広がることがあります。
Qどちらのカウントメソッドを選ぶべきですか?
A正確な件数やフィルタ付きの件数には countDocuments() を。おおよその数と速度が重要な場合は estimatedDocumentCount() を使います。