db.collection.estimatedDocumentCount()
Nesta página
MongoDB com drivers
Esta página documenta um método mongosh
. Para ver o método equivalente em um driver MongoDB, consulte a página correspondente da sua linguagem de programação:
Definição
db.collection.estimatedDocumentCount(options)
Retorna a contagem de todos os documentos em uma coleção ou exibição.
db.collection.estimatedDocumentCount( <options> ) ParâmetroTipoDescriçãoopçõesdocumentoOpcional. Opções adicionais que afetam o comportamento da contagem.O documento
options
pode conter o seguinte:CampoTipoDescriçãomaxTimeMS
inteiroOpcional. A quantidade máxima de tempo para permitir a execução da contagem.
Comportamento
Mecânica
db.collection.estimatedDocumentCount()
não usa um query filter e, em vez disso, usa metadados para retornar a contagem de uma coleção.
Para uma visualização de :
Não há metadados.
A contagem de documentos é calculada executando o pipeline de agregação na definição da visualização.
Não há contagem rápida de documentos estimada.
Clusters fragmentados
Em um cluster fragmentado, a contagem resultante não filtrará corretamente documentos órfãos.
Desligamento impuro
Esta seção se aplica apenas a coleções.
Após um desligamento incorreto, a contagem pode estar incorreta.
Após um desligamento impuro de um mongod
usando o mecanismo de armazenamento Wired Tiger, as estatísticas de contagem relatadas por db.collection.estimatedDocumentCount()
podem ser imprecisas.
A quantidade de desvio depende do número de operações de inserção, atualização ou exclusão executadas entre o último ponto de verificação e o desligamento não limpo. Os pontos de verificação geralmente ocorrem a cada 60 segundos. No entanto, mongod
instâncias executadas com configurações de --syncdelay
não padrão podem ter pontos de verificação mais ou menos frequentes.
Execute validate
em cada collection no mongod
para restaurar as estatísticas depois de um desligamento impróprio.
Após um desligamento impróprio:
Desconexão do cliente
A partir do MongoDB 4.2, se o cliente que emitiu db.collection.estimatedDocumentCount()
se desconectar antes da conclusão da operação, o MongoDB marcará db.collection.estimatedDocumentCount()
para encerramento usando killOp
.
Contagem e Transações
Quando você usa db.collection.estimatedDocumentCount()
em uma transação, a contagem resultante não filtrará transações multidocumentos não confirmada.
Exemplo
O exemplo a seguir usa db.collection.estimatedDocumentCount()
para recuperar a contagem de todos os documentos na coleção orders
:
db.orders.estimatedDocumentCount({})