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, countDocuments() aceita um parâmetro dequery  . 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.
1 // Count documents in a collection 2 3 import { MongoClient } from "mongodb"; 4 5 // Replace the uri string with your MongoDB deployment's connection string 6 const uri = "<connection string uri>"; 7 8 const client = new MongoClient(uri); 9 10 async function run() { 11   try { 12     const database = client.db("sample_mflix"); 13     const movies = database.collection("movies"); 14 15     /* Print the estimate of the number of documents in the 16     "movies" collection */ 17     const estimate = await movies.estimatedDocumentCount(); 18     console.log(`Estimated number of documents in the movies collection: ${estimate}`); 19 20     /* Print the number of documents in the "movies" collection that 21     match the specified query */ 22     const query = { countries: "Canada" }; 23     const countCanada = await movies.countDocuments(query); 24     console.log(`Number of movies from Canada: ${countCanada}`); 25   } finally { 26     // Close the connection after the operations complete 27     await client.close(); 28   } 29 } 30 // Run the program and print any thrown exceptions 31 run().catch(console.dir); 
1 // Count documents in a collection 2 3 import { MongoClient } from "mongodb"; 4 5 // Replace the uri string with your MongoDB deployment's connection string 6 const uri = "<connection string uri>"; 7 8 const client = new MongoClient(uri); 9 10 async function run() { 11   try { 12     const database = client.db("sample_mflix"); 13     const movies = database.collection("movies"); 14 15     /* Print the estimate of the number of documents in the 16     "movies" collection */ 17     const estimate = await movies.estimatedDocumentCount(); 18     console.log(`Estimated number of documents in the movies collection: ${estimate}`); 19 20     /* Print the number of documents in the "movies" collection that 21     match the specified query */ 22     const query = { countries: "Canada" }; 23     const countCanada = await movies.countDocuments(query); 24     console.log(`Number of movies from Canada: ${countCanada}`); 25   } finally { 26     // Close the connection after the operations complete 27     await client.close(); 28   } 29 } 30 // Run the program and print any thrown exceptions 31 run().catch(console.dir); 
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.
Ao executar o código do exemplo anterior, você vê a seguinte saída:
Estimated number of documents in the movies collection: 23541 Number of movies from Canada: 1349