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

ドキュメントをカウント

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

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

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

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

コレクション内のすべてのドキュメントの数を返すには、次の例に示すように、空のクエリフィルターを指定して mongoc_collection_count_documents() 関数を呼び出します。

bson_error_t error;
bson_t *empty_query = bson_new();
int64_t count =
mongoc_collection_count_documents(collection, empty_query, NULL, NULL, NULL, &error);
printf("%" PRId64 "\n", count);
bson_destroy(empty_query);
21349

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

bson_error_t error;
bson_t *query = BCON_NEW("year", BCON_INT32(1930));
int64_t count =
mongoc_collection_count_documents(collection, query, NULL, NULL, NULL, &error);
printf("%" PRId64 "\n", count);
bson_destroy(query);
10

mongoc_collection_count_documents() 関数は、カウント操作を構成するために使用できるオプションのセットを表す bson_t 構造の形式で任意のパラメータを受け入れます。 オプションを指定しない場合、ドライバーは カウント操作をカスタマイズしません。

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

オプション
説明

comment

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

skip

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

limit

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

collation

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

hint

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

オプションの完全なリストについては、APIドキュメント mongoc_collection_count_documents() のを参照してください。

次の例では、 bson_t 構造を使用して mongoc_collection_count_documents()操作にコメントを追加します。

bson_error_t error;
bson_t *opts = BCON_NEW("comment", BCON_UTF8("Retrieving count"));
int64_t count =
mongoc_collection_count_documents(collection, bson_new(), opts, NULL, NULL, &error);
printf("%" PRId64 "\n", count);
bson_destroy(opts);
21349

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

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

bson_error_t error;
int64_t count =
mongoc_collection_estimated_document_count(collection, NULL, NULL, NULL, &error);
printf("%" PRId64 "\n", count);
21349

mongoc_collection_estimated_document_count() 関数は、カウント操作 を構成するために使用できるオプションを表す bson_t 構造の形式で任意のパラメータを受け入れます。 オプションを指定しない場合、ドライバーは カウント操作をカスタマイズしません。

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

オプション
説明

comment

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

collation

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

オプションの完全なリストについては、APIドキュメント mongoc_collection_estimated_document_count() のを参照してください。

次の例では、 bson_t 構造を使用して mongoc_collection_estimated_document_count()操作にコメントを追加します。

bson_error_t error;
bson_t *opts = BCON_NEW("comment", BCON_UTF8("Retrieving count"));
int64_t count =
mongoc_collection_estimated_document_count(collection, opts, NULL, NULL, &error);
printf("%" PRId64 "\n", count);
bson_destroy(opts);
21349

このガイドで説明されている関数の詳細については、次のAPIドキュメントを参照してください。