$max (Manter o Maior Valor)
Última atualização: 2026-10-09
$max (Manter o Maior Valor)
$max escreve o valor fornecido apenas quando ele é maior que o valor atual do campo. `{ $max: { highScore: 980 } }`. O campo é criado se estiver ausente. Ideal para acompanhar a maior pontuação ou o recorde de todos os tempos — uma atualização de manter-o-máximo, complementar a $min.
| Categoria | Atualização de Campo |
|---|---|
| Versão do MongoDB | 2.6+ |
| Idioma do Exemplo | mongosh (Shell) |
📝 Sintaxe
{ $max: { <campo>: <valor> } }
⚙️ Parâmetros
| campo | O campo a comparar e atualizar. |
|---|---|
| valor | O valor candidato; gravado apenas se for maior. |
Retorno:O resultado da atualização
▶ Exemplo
Execute os comandos abaixo no seu mongosh local (requer um mongod em execução):
// $max: apenas aumenta, nunca diminui
// 950 -> 980 pois 980 é maior
// 990 permanece pois 980 é menor
db.games.updateOne(
{ _id: 1 },
{ $max: { highScore: 980 } }
)
Saída:
// Atualizado para 980 apenas quando o valor atual está abaixo dele; caso contrário, intacto
📌 Notas
- Cria o campo se estiver ausente
- Ótimo para recordes de ranking e níveis recordes
- Combine com $min para manter os limites dos dados
🏷️ Tags Relacionados
💡 Casos Relacionados
📚 Tutoriais Relacionados
❓ Perguntas Frequentes
QComo mantenho a maior pontuação com $max?
AAtualize com { $max: { highScore: score } } a cada vez; pontuações menores são ignoradas automaticamente.
QQual é a diferença entre $max e $set?
A$set sobrescreve incondicionalmente; $max atualiza apenas quando o valor é maior.
Q$max é atômico?
ASim.