Visão geral
Neste guia, você pode aprender como recuperar contagens precisas e estimadas do número de documentos em uma coleção.
Dados de amostra
Os exemplos neste guia utilizam a coleção do movies no banco de dados de dados do sample_mflix a partir dos conjuntos de dados de amostra do Atlas. Para saber como criar um cluster MongoDB Atlas gratuito e carregar os conjuntos de dados de amostra, consulte o guia Iniciar com Atlas .
Recuperar uma contagem precisa
Use a função mongoc_collection_count_documents() para contar o número de documentos que estão em uma collection. Para contar o número de documentos que correspondem aos critérios de pesquisa especificados, passe um filtro de query para a função mongoc_collection_count_documents().
Para saber mais sobre como especificar uma query, consulte Especificar uma query .
Contagem de todos os documentos
Para retornar uma contagem de todos os documentos na collection, chame a função mongoc_collection_count_documents() com um filtro de query vazio, conforme mostrado no exemplo a seguir :
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
Contagem de documentos específicos
Para retornar uma contagem de documentos que correspondam a critérios de pesquisa específicos, especifique sua query na função mongoc_collection_count_documents(). O exemplo a seguir imprime uma contagem de todos os documentos na collection movies que têm um valor de campo year igual a 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
Personalizar comportamento de contagem
A função mongoc_collection_count_documents() aceita parâmetros opcionais na forma de uma estrutura bson_t, que representa um conjunto de opções que você pode utilizar para configurar a operação de contagem. Se você não especificar nenhuma opção, o driver não personalizará a operação de contagem.
A tabela a seguir descreve as opções que você pode definir para personalizar countDocuments():
Opção | Descrição |
|---|---|
| Specifies a comment to attach to the operation. |
| Sets the number of documents to skip before returning results. |
| Sets the maximum number of documents to count. Must be a positive integer. |
| Specifies the kind of language collation to use when sorting
results. For more information, see Collation
in the MongoDB Server manual. |
| Sets the index to scan for documents. |
Para obter uma lista completa de opções, consulte a documentação da API para mongoc_collection_count_documents().
O exemplo a seguir usa uma estrutura bson_t para adicionar um comentário à operação 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
Recuperar uma contagem estimada
Use a função mongoc_collection_estimated_document_count() para recuperar uma estimativa do número de documentos em uma collection. A função estima a quantidade de documentos com base nos metadados da collection, o que pode ser mais rápido do que realizar uma contagem precisa.
O exemplo a seguir imprime o número estimado de documentos em uma collection:
bson_error_t error; int64_t count = mongoc_collection_estimated_document_count (collection, NULL, NULL, NULL, &error); printf ("%" PRId64 "\n", count);
21349
Personalizar comportamento de contagem estimada
A função mongoc_collection_estimated_document_count() aceita parâmetros opcionais na forma de uma estrutura bson_t, que representa opções que você pode utilizar para configurar a operação de contagem. Se você não especificar nenhuma opção, o driver não personalizará a operação de contagem.
A tabela a seguir descreve as opções que você pode definir para personalizar mongoc_collection_estimated_document_count():
Opção | Descrição |
|---|---|
| Specifies a comment to attach to the operation. |
| Specifies the kind of language collation to use when sorting
results. For more information, see Collation
in the MongoDB Server manual. |
Para obter uma lista completa de opções, consulte a documentação da API para mongoc_collection_estimated_document_count().
O exemplo a seguir usa uma estrutura bson_t para adicionar um comentário à operação 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
Documentação da API
Para saber mais sobre qualquer uma das funções discutidas nesta guia, consulte a seguinte documentação da API: