Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
See how MongoDB 9.0 delivers up to 2x higher throughput.
MongoDB Branding Shape
Register now >
Menu Docs

$max (expressão)

$max

Retorna o valor máximo de uma array.

Observação

Desambiguação

Esta página descreve $max quando usado como uma expressão, que retorna o valor máximo de uma array ou de uma lista de valores.

Você também pode usar $max nestes outros contextos:

{ $max: <expression> }

O expression deve avaliar para uma array.

$max compara dados de entrada seguindo a ordem de Comparação BSON para determinar o tipo de saída apropriado. Quando os dados de entrada contêm vários tipos de dados, o tipo de saída $max é o mais alto na ordem de comparação.

Se alguns, mas não todos, valores de entrada para $max estiverem null ou ausentes, $max considerará apenas os valores não nulos e não ausentes.

Se todos os valores de entrada para $max estiverem null ou ausentes, $max retornará null.

Com uma única expressão como operando, se a expressão for resolvida para uma array, $max percorrerá a array para encontrar o valor máximo.

Com uma lista de expressões como operando, se alguma expressão for resolvida para uma array, $max não percorrerá essa array e, em vez disso, compara a array como um todo.

Os exemplos nesta página usam dados do conjunto de dados sample_mflix. Para obter detalhes sobre como carregar esse conjunto de dados em sua implantação autogerenciada do MongoDB , consulte Carregar o conjunto de dados de amostra. Se você fez modificações nos bancos de dados de amostra, talvez seja necessário descartar e recriar os bancos de dados para executar os exemplos nesta página.

O exemplo a seguir usa $max no estágio $project para encontrar a classificação mais alta para cada filme em três fontes de classificação: IMDb, visualizador do Rotten Tomatoes e crítico do Rotten Tomatoes:

db.movies.aggregate( [
{
$match: {
title: {
$in: [
"The Godfather",
"Schindler's List",
"The Dark Knight"
]
},
"imdb.rating": { $gt: 0 },
"tomatoes.viewer.rating": { $gt: 0 },
"tomatoes.critic.rating": { $gt: 0 }
}
},
{
$project: {
_id: 0,
title: 1,
highestRating: {
$max: [
"$imdb.rating",
"$tomatoes.viewer.rating",
"$tomatoes.critic.rating"
]
}
}
},
{ $sort: { title: 1 } }
] )

O pipeline anterior:

  • Usa $match para filtrar três filmes específicos que tenham classificações válidas de todas as três fontes.

  • Usa $project com $max e uma lista de expressões para calcular a classificação mais alta em imdb.rating, tomatoes.viewer.rating e tomatoes.critic.rating para cada filme.

  • Classifica a saída alfabeticamente por título.