MONGOC_COLLECTION_COUNT_DOCUMENTS(3) | libmongoc | MONGOC_COLLECTION_COUNT_DOCUMENTS(3) |
mongoc_collection_count_documents - mongoc_collection_count_documents()
int64_t mongoc_collection_count_documents (mongoc_collection_t *collection,
const bson_t *filter,
const bson_t *opts,
const mongoc_read_prefs_t *read_prefs,
bson_t *reply,
bson_error_t *error);
opts may be NULL or a BSON document with additional command options:
This functions executes a count query on collection. In contrast with mongoc_collection_estimated_document_count(), the count returned is guaranteed to be accurate.
This function is considered a retryable read operation. Upon a transient error (a network error, errors due to replica set failover, etc.) the operation is safely retried once. If retryreads is false in the URI (see mongoc_uri_t) the retry behavior does not apply.
Errors are propagated via the error parameter.
-1 on failure, otherwise the number of documents counted.
#include <bson/bson.h> #include <mongoc/mongoc.h> #include <stdio.h> static void print_count (mongoc_collection_t *collection, bson_t *filter) {
bson_error_t error;
int64_t count;
bson_t* opts = BCON_NEW ("skip", BCON_INT64(5));
count = mongoc_collection_count_documents (
collection, filter, opts, NULL, NULL, &error);
bson_destroy (opts);
if (count < 0) {
fprintf (stderr, "Count failed: %s\n", error.message);
} else {
printf ("%" PRId64 " documents counted.\n", count);
} }
When migrating to mongoc_collection_count_documents from the deprecated mongoc_collection_count or mongoc_collection_count_with_opts, the following query operators in the filter must be replaced:
Operator | Replacement |
$where | $expr |
$near | $geoWithin with $center |
$nearSphere | $geoWithin with $centerSphere |
$expr requires MongoDB 3.6+
mongoc_collection_estimated_document_count()
MongoDB, Inc
2017-present, MongoDB, Inc
June 4, 2021 | 1.17.6 |