Menu Docs
Página inicial do Docs
/ / /
Driver C
/

Contagem de documentos

Nesta página

  • Visão geral
  • Dados de amostra
  • Recuperar uma contagem precisa
  • Contagem de todos os documentos
  • Contagem de documentos específicos
  • Personalizar comportamento de contagem
  • Recuperar uma contagem estimada
  • Personalizar comportamento de contagem estimada
  • Documentação da API

Neste guia, você pode aprender como recuperar contagens precisas e estimadas do número de documentos em uma coleção.

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 .

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 .

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

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

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

comment

Specifies a comment to attach to the operation.

skip

Sets the number of documents to skip before returning results.

limit

Sets the maximum number of documents to count. Must be a positive integer.

collation

Specifies the kind of language collation to use when sorting results. For more information, see Collation in the MongoDB Server manual.

hint

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

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

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

comment

Specifies a comment to attach to the operation.

collation

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

Para saber mais sobre qualquer uma das funções discutidas nesta guia, consulte a seguinte documentação da API:

Voltar

Especifique documentos a serem devolvidos