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

db.コレクション.estimatedDocumentCount()(mongoshメソッド)

MongoDB とドライバー

このページではmongoshメソッドについて説明します。 MongoDBドライバーで同等のメソッドを確認するには、 プログラミング言語の対応するページを参照してください。
db.collection.estimatedDocumentCount(options)

コレクションまたはビュー内の全ドキュメントの数を返します。

db.collection.estimatedDocumentCount( <options> )
Parameter
タイプ
説明

options

ドキュメント

任意。カウント動作に影響を与える追加のオプション。

optionsドキュメントには以下の内容を含めることができます。

フィールド
タイプ
説明

maxTimeMS

integer

任意。カウントの実行を許可する最大時間。

このメソッドは、次の環境でホストされている配置で使用できます。

  • MongoDB Atlas はクラウドでの MongoDB 配置のための完全管理サービスです

注意

このコマンドは、すべての MongoDB Atlas クラスターでサポートされています。すべてのコマンドに対する Atlas のサポートについては、「サポートされていないコマンド」を参照してください。

  • MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン

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

db.collection.estimatedDocumentCount() は、クエリフィルターは使用せず、代わりにメタデータを使用してコレクションの数を返します。

ビューの場合、以下のようになります。

  • メタデータはありません。

  • ドキュメント数は、ビュー定義で集計パイプラインを実行することによって計算されます。

  • ドキュメント数を迅速に見積もることはできません。

シャーディングされたクラスターでは、結果のカウントで孤立したドキュメントが正しく除外されません。

このセクションは、コレクションにのみ適用されます。

不正なシャットダウンの後は、カウントが不正確になる可能性があります。

After an unclean shutdown of a mongod using the Wired Tiger storage engine, count statistics reported by db.collection.estimatedDocumentCount() may be inaccurate.

ドリフトの量は、チェックポイントからクリーン シャットダウンまでの間に実行された挿入、アップデート、または削除操作の数によって異なります。チェックポイントは通常、60 秒ごとに発現します。ただし、デフォルト以外の --syncdelay 設定で実行されている mongod インスタンスでは、チェックポイントの頻度が増減する可能性があります。

不正なシャットダウン後に統計を復元するには、mongod の各コレクションに対して validate を実行します。

不正なシャットダウン後:

If the client that issued db.collection.estimatedDocumentCount() disconnects before the operation completes, MongoDB marks db.collection.estimatedDocumentCount() for termination using killOp.

When you use db.collection.estimatedDocumentCount() in a transaction, the resulting count will not filter out any uncommitted multi-document transactions.

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

The following example uses db.collection.estimatedDocumentCount() to retrieve the count of all documents in the movies collection:

db.movies.estimatedDocumentCount({})
21349