Visão geral
Neste guia, você pode aprender a recuperar uma contagem precisa e estimada do número de documentos em uma coleção.
Recuperar uma contagem precisa
Use o método count_documents() para contar o número de documentos que estão em uma coleção. Para contar o número de documentos que correspondem a um critério específico do Atlas Search , passe um dicionário que inclua um filtro de query para o método 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, passe um dicionário vazio para o método count_documents(), conforme mostrado no exemplo a seguir. Selecione a aba Synchronous ou Asynchronous para ver o código correspondente:
collection.count_documents({})
await collection.count_documents({})
Contagem de documentos específicos
Para retornar uma contagem de documentos que correspondam a critérios de pesquisa específicos, especifique sua query no método count_documents(), conforme mostrado no exemplo a seguir. Selecione a aba Synchronous ou Asynchronous para ver o código correspondente:
collection.count_documents({ "author": "Mike" })
await collection.count_documents({ "author": "Mike" })
Personalizar comportamento de contagem
O método count_documents() aceita parâmetros opcionais, que representam 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 count_documents():
Propriedade | Descrição |
|---|---|
| Um comentário a ser anexado à operação. |
| Uma instância de |
| O número de documentos a ignorar antes de retornar os resultados. |
| O número máximo de documentos para contar. Deve ser um número inteiro positivo. |
| O tempo máximo de execução da operação, em milissegundos. |
| Uma instância de |
| Obtém ou define o índice para procurar documentos. |
Recuperar uma contagem estimada
Você pode obter uma estimativa do número de documentos em uma coleção ligando para o método estimated_document_count() . O método 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 estima o número de documentos em uma collection. Selecione a aba Synchronous ou Asynchronous para ver o código correspondente:
collection.estimated_document_count()
await collection.estimated_document_count()
Personalizar comportamento de contagem estimada
O método estimated_document_count() aceita parâmetros opcionais, que representam 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 estimated_document_count():
Propriedade | Descrição |
|---|---|
| Um comentário a ser anexado à operação. |
| O tempo máximo de execução da operação, em milissegundos. |
Solução de problemas
Aviso de depreciação: a contagem está obsoleta
O PyMongo não suporta mais o método count() . Em vez disso, utilize o count_documents() método da Collection classe .
Importante
O método count_documents() pertence à classe Collection . Se você tentar ligar para Cursor.count_documents(), o PyMongo gerará o seguinte erro:
Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'Cursor' object has no attribute 'count'
Documentação da API
Para saber mais sobre qualquer um dos métodos ou tipos discutidos neste guia, consulte a seguinte documentação da API: