count() (Contar no Cursor)
Última atualização: 2026-10-09
count() (Contar no Cursor)
count() conta os documentos que o cursor atual retornaria: `db.users.find({ age: { $gt: 20 } }).count()`. Ele opera no cursor, então o filtro de find() é aplicado primeiro. Observe que este método está obsoleto — a substituição oficial `db.users.countDocuments()` é equivalente e mais precisa em clusters fragmentados.
| Categoria | Cursor |
|---|---|
| Versão do MongoDB | 1.0+ |
| Idioma do Exemplo | mongosh (Shell) |
📝 Sintaxe
db.<collection>.find(<filter>).count()
Retorno:Número de documentos que o cursor retornaria (inteiro).
▶ Exemplo
Execute os comandos abaixo no seu mongosh local (requer um mongod em execução):
// count: conta usuários com mais de 20 anos
const n = db.users.find({ age: { $gt: 20 } }).count()
print(n)
Saída:
35
📌 Notas
- Obsoleto — use countDocuments() em código novo
- Semanticamente igual a countDocuments() porém possivelmente menos preciso em shards
- count() não consome o cursor; a iteração pode continuar
🏷️ Tags Relacionados
💡 Casos Relacionados
Padrões avançados do Mongoose: desempenho e flexibilidade
Otimização e monitoramento de desempenho: ajuste em ambiente de produção
📚 Tutoriais Relacionados
❓ Perguntas Frequentes
QO count() de cursor ainda é utilizável?
AFunciona mas está obsoleto; código novo deve usar countDocuments(), que é equivalente e mais preciso.
Qcount() é diferente de countDocuments()?
AA semântica é a mesma operação de contagem exata; countDocuments() é a substituição recomendada, mais confiável em shards.
QAinda posso buscar dados depois de count()?
ASim — count() apenas contabiliza, deixando o cursor utilizável para toArray()/forEach() depois.