Contagem de documentos
O driver Node.js oferece dois métodos para contar documentos em uma collection:
collection.countDocuments() retorna o número de documentos na coleção que correspondem à query especificada. Se você especificar um documento de query vazio,
countDocuments()
retornará o número total de documentos na coleção.coleção.estimatedDocumentCount() retorna uma estimativa do número de documentos na coleção com base nos metadados da coleção.
estimatedDocumentCount()
é mais rápido do que countDocuments()
porque a estimativa utiliza os metadados da coleção em vez de analisar a coleção. Em contraste, o countDocuments()
leva mais tempo para retornar, mas fornece uma contagem precisa do número de documentos e suporta a especificação de um filtro. Escolha o método apropriado para sua carga de trabalho.
Para especificar quais documentos você deseja contar, o countDocuments()
aceita um parâmetro de query. countDocuments()
conta os documentos que correspondem à query especificada.
countDocuments()
e o estimatedDocumentCount()
suporta configurações opcionais que afetam a execução do método. Consulte a documentação de referência para cada método para obter mais informações.
Dica
Você pode melhorar o desempenho ao utilizar o countDocuments()
para retornar o número total de documentos em uma coleção evitando uma verificação da coleção. Para fazer isso, use uma dica para aproveitar o índice interno no campo _id
. Utilize esta técnica somente ao chamar countDocuments()
com um parâmetro de query vazio.
collection.countDocuments({}, { hint: "_id_" });
Exemplo
O exemplo a seguir estima o número de documentos na collection movies
no banco de dados sample_mflix
e, em seguida, retorna uma contagem precisa do número de documentos na collection movies
com Canada
no campo countries
.
Observação
Você pode utilizar este exemplo para se conectar a uma instância do MongoDB e interagir com um banco de dados que contém dados de amostra. Para saber mais sobre como se conectar à sua instância do MongoDB e carregar um conjunto de dados de amostra, consulte o Guia de exemplos de uso.
Observação
Trechos de código idênticos
Os trechos de código JavaScript e TypeScript acima são idênticos. Não existem características específicas do TypeScript do condutor relevantes para este caso de utilização.
Se você executar o código de amostra anterior, verá a seguinte saída:
Estimated number of documents in the movies collection: 23541 Number of movies from Canada: 1349