$max (Acumulador de Máximo)
Última atualização: 2026-10-09
$max (Acumulador de Máximo)
$max é um acumulador que retorna o valor máximo de um campo em um grupo dentro de $group, ou o maior elemento do array em $project. As comparações seguem a ordem de tipos do BSON, então tipos mistos se comparam de forma consistente; campos ausentes são ignorados.
| Categoria | Acumuladores |
|---|---|
| Versão do MongoDB | 1.0+ |
| Idioma do Exemplo | mongosh (Shell) |
📝 Sintaxe
{ $group: { _id: <key>, max: { $max: "$field" } } }
Retorno:Valor máximo no grupo (comparado pela ordem de tipo BSON)
▶ Exemplo
Execute os comandos abaixo no seu mongosh local (requer um mongod em execução):
// $max: maior preço por item
db.sales.aggregate([
{ $group: { _id: '$item', max: { $max: '$price' } } }
])
Saída:
{ "_id": "Pen", "max": 80 }
{ "_id": "Book", "max": 25 }
📌 Notas
- A comparação segue a ordem de tipos do BSON; tipos mistos são válidos
- Campos ausentes são ignorados
- Simétrico a $min
🏷️ Tags Relacionados
💡 Casos Relacionados
Introdução aos pipelines de agregação: o método `aggregate` e o estágio básico
$facet + $bucket + Pesquisa de texto/geoespacial
📚 Tutoriais Relacionados
❓ Perguntas Frequentes
Q$max compara strings?
ASim, strings se comparam lexicograficamente; tipos diferentes seguem a ordem de tipos do BSON.
QComo $max difere de $sort seguido de $limit?
A$max calcula dentro do grupo de forma eficiente; $sort seguido de $limit serve para buscar um documento superior inteiro.
QComo $max é usado em $project?
APara pegar o maior elemento do array, por exemplo { $project: { m: { $max: '$scores' } } }.