$count (Acumulador de Contagem)
Última atualização: 2026-10-09
$count (Acumulador de Contagem)
$count é um acumulador que conta documentos dentro de um $group, disponível desde o MongoDB 5.0. É o equivalente mais claro de { $sum: 1 }. Note a diferença para o estágio $count: o estágio emite um documento { count: N }, enquanto o acumulador retorna uma contagem numérica por grupo.
| Categoria | Acumuladores |
|---|---|
| Versão do MongoDB | 1.0+ |
| Idioma do Exemplo | mongosh (Shell) |
📝 Sintaxe
{ $group: { _id: <key>, n: { $count: {} } } }
Retorno:Contagem inteira de documentos no grupo
▶ Exemplo
Execute os comandos abaixo no seu mongosh local (requer um mongod em execução):
// $count: pedidos por status
db.orders.aggregate([
{ $group: { _id: '$status', n: { $count: {} } } }
])
Saída:
{ "_id": "A", "n": 25 }
{ "_id": "B", "n": 10 }
📌 Notas
- Equivalente a { $sum: 1 }
- Ao contrário do estágio $count, ele não encerra o pipeline
- Não precisa de expressão de campo; todo documento do grupo conta
🏷️ Tags Relacionados
💡 Casos Relacionados
Introdução aos pipelines de agregação: o método `aggregate` e o estágio básico
Prática: CRUD para um sistema de comentários de blog
$facet + $bucket + Pesquisa de texto/geoespacial
📚 Tutoriais Relacionados
❓ Perguntas Frequentes
QQual é a diferença entre o acumulador $count e o estágio $count?
AO acumulador retorna uma contagem por grupo; o estágio emite um único documento { count: N }.
QO acumulador $count aceita parâmetros?
ANão, basta escrever { $count: {} }.
QQuando devo usar $count em vez de $sum: 1?
AA leitura fica melhor com desempenho idêntico, então prefira-o.