countDocuments() (Contar com Filtro)

Última atualização: 2026-10-09

countDocuments() (Contar com Filtro)

countDocuments() conta documentos que correspondem a um filtro, ex.: `db.users.countDocuments({ age: { $gte: 18 } })`. Ele executa no servidor e retorna uma contagem exata. Diferente de estimatedDocumentCount(), ele realmente avalia o filtro, então é preciso porém mais lento — a escolha certa quando a precisão importa. Para consultas sensíveis a desempenho em coleções enormes, respalde o filtro com um índice.

CategoriaLeitura
Versão do MongoDB1.0+
Idioma do Exemplomongosh (Shell)

📝 Sintaxe

db.<collection>.countDocuments(<filter>, { limit: <number> })

⚙️ Parâmetros

filtroFiltro a contar; {} vazio conta tudo.
limitOpcional. Limite superior de documentos contados.

Retorno:Número de documentos correspondentes (inteiro).

▶ Exemplo

Execute os comandos abaixo no seu mongosh local (requer um mongod em execução):

// countDocuments: conta usuários adultos
const n = db.users.countDocuments({ age: { $gte: 18 } })
print('Adults: ' + n)

Saída:

Adultos: 42

📌 Notas

📚 Tutoriais Relacionados

❓ Perguntas Frequentes

QComo countDocuments difere de estimatedDocumentCount?
AcountDocuments() avalia o filtro com precisão porém mais lentamente; estimatedDocumentCount() usa metadados da coleção — rápido porém aproximado.
QPor que não é recomendado contar uma coleção inteira com countDocuments?
AEle precisa varrer as correspondências, o que é lento em coleções grandes. Quando a magnitude basta, use estimatedDocumentCount().
QO countDocuments retorna 0 ou lança erro quando nada corresponde?
AEle retorna 0 sem lançar erro — seguro para usar em condicionais.
Web-Tutorial.com

Equipe Técnica Web-Tutorial

Uma plataforma de tutoriais mantida por diversos desenvolvedores. Cada tutorial é escrito e revisado por profissionais da área correspondente. Trabalhamos para manter nosso conteúdo preciso e confiável — se encontrar algum problema, avise-nos.

100%