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

ドキュメントをカウント

このガイドでは、コレクション内のドキュメント数の正確な推定値を取得する方法を学習できます。

このガイドの例では、Atlas サンプル データセットsample_mflix データベースの movies コレクションを使用します。無料の MongoDB 配置を作成し、サンプルデータセットを読み込む方法については、MongoDB の スタートガイドを参照してください。

次の Kotlin データ クラスは、このコレクション内のドキュメントをモデル化します。

data class Movie(
@BsonId
val id: ObjectId,
val title: String
)

コレクション内のドキュメントの数をカウントするには、 countDocuments()メソッドを使用します。 指定した検索条件に一致するドキュメントの数をカウントするには、クエリフィルターをcountDocuments()メソッドに渡します。

クエリの指定の詳細については、「 クエリの指定 」を参照してください。

コレクション内のすべてのドキュメントの数を返すには、次の例に示すように、引数なしでcountDocuments()メソッドを呼び出します。

println(collection.countDocuments())
21349

特定の検索条件に一致するドキュメントの数を返すには、 countDocuments()メソッドでクエリを指定します。 次の例では、 moviesコレクション内のyearフィールド値が1930に等しいすべてのドキュメントのカウントを出力します。

println(collection.countDocuments(eq("year", "1930")))
10

countDocuments()メソッドは、カウント操作を構成するために使用できるオプションを表すCountOptionsオブジェクトの形式で任意のパラメータを受け入れます。 これらのオプションを設定するには、新しいCountOptionsオブジェクトをインスタンス化し、対応するメソッドを使用してオブジェクトのフィールドを設定し、それをcountDocuments()メソッドに渡します。 オプションを指定しない場合、ドライバーはカウント操作をカスタマイズしません。

次の表では、 countDocuments()をカスタマイズするために設定できるオプションについて説明しています。

オプション
説明

comment

操作に添付するコメントを指定します。

skip

結果を返す前にスキップするドキュメントの数を設定します。

limit

カウントするドキュメントの最大数を設定します。 正の整数である必要があります。

collation

結果をソートするときに使用する言語照合の種類を指定します。 詳細については、MongoDB Server マニュアルの 「照合」 を参照してください。

hint

ドキュメントをスキャンするインデックスを設定します。

次の例では、 CountOptionsオブジェクトを使用してcountDocuments()操作にコメントを追加します。

val options = CountOptions().comment("Retrieving count")
collection.countDocuments(Filters.empty(), options)

コレクション内のドキュメント数の推定値を取得するには、 estimatedDocumentCount()メソッドを使用します。 メソッドはコレクション メタデータに基づいてドキュメントの量を推定します。これは正確なカウントを実行するよりも高速です。

次の例では、コレクション内のドキュメントの推定数を出力します。

print(collection.estimatedDocumentCount())
21349

estimatedDocumentCount()メソッドは、カウント操作を構成するために使用できるオプションを表すEstimatedDocumentCountOptionsオブジェクト の形式で任意のパラメータを受け入れます。 これらのオプションを設定するには、新しいEstimatedDocumentCountOptionsオブジェクトをインスタンス化し、対応するメソッドを使用してオブジェクトのフィールドを設定し、それをestimatedDocumentCount()メソッドに渡します。 オプションを指定しない場合、ドライバーはカウント操作をカスタマイズしません。

次の表では、 estimatedDocumentCount()をカスタマイズするために設定できるオプションについて説明しています。

オプション
説明

comment

操作に添付するコメントを指定します。

次の例では、 EstimatedDocumentCountOptionsオブジェクトを使用してestimatedDocumentCount()操作にコメントを追加します。

val options = EstimatedDocumentCountOptions().comment("Retrieving count")
collection.estimatedDocumentCount(options)

このガイドで説明したメソッドや型の詳細については、次の API ドキュメントを参照してください。