$count (Contagem)
Última atualização: 2026-10-09
$count (Contagem)
$count retorna um único documento com a forma { campo: N } contendo o número de documentos restantes no pipeline. É um atalho para $group com $sum: 1. Colocado após $match, conta resultados filtrados sem agrupar. A saída é um único documento que qualquer estágio posterior vê.
| Categoria | Estágios Principais |
|---|---|
| Versão do MongoDB | 1.0+ |
| Idioma do Exemplo | mongosh (Shell) |
📝 Sintaxe
{ $count: "<nomeDoCampoDeSaida>" }
⚙️ Parâmetros
| nome do campo de saída | O nome do campo que recebe a contagem. |
|---|
Retorno:Um único documento { count: N } (nome do campo definido pelo argumento)
▶ Exemplo
Execute os comandos abaixo no seu mongosh local (requer um mongod em execução):
// $count: número de pedidos com status A
db.orders.aggregate([
{ $match: { status: 'A' } },
{ $count: 'total' }
])
Saída:
// Número de pedidos correspondidos
{ "total": 25 }
📌 Notas
- $count emite um único documento; apenas um segue adiante
- Equivalente a { $group: { _id: null, count: { $sum: 1 } } }
- O nome do campo deve ser uma string simples, não um caminho com prefixo $
🏷️ Tags Relacionados
💡 Casos Relacionados
Mais casos práticos em breve.
📚 Tutoriais Relacionados
❓ Perguntas Frequentes
QQual é a diferença entre $count e countDocuments?
AcountDocuments conta a coleção diretamente; $count soma o que os estágios anteriores do pipeline produziram.
QA agregação pode continuar após $count?
ASim. Ele emite um documento, que os estágios posteriores continuam processando.
Q$count pode renomear seu campo de saída?
ASim, o argumento é o nome do campo, ex.: { $count: 'total' } produz { total: N }.