$top (Acumulador de Topo)

Última atualização: 2026-10-09

$top (Acumulador de Topo)

$top é um acumulador que retorna o documento do topo de um grupo conforme uma ordem de ordenação especificada — o documento inteiro, não um único campo — disponível desde o MongoDB 5.2. A ordem vem do sortBy de $group, não da sequência de entrada, ao contrário de $first. Use $topN para vários.

CategoriaAcumuladores
Versão do MongoDB5.2+
Idioma do Exemplomongosh (Shell)

📝 Sintaxe

{ $group: { _id: <key>, top: { $top: { sortBy: { <field>: <1 or -1> }, output: <expression> } } } }

Retorno:Documento do topo do grupo conforme a ordem sortBy

▶ Exemplo

Execute os comandos abaixo no seu mongosh local (requer um mongod em execução):

// $top: maior preço por item via sortBy
db.sales.aggregate([
  { $group: { _id: '$item', top: { $top: { sortBy: { price: -1 }, output: '$price' } } } }
])

Saída:

{ "_id": "Pen", "top": 80 }

📌 Notas

Mais casos práticos em breve.

📚 Tutoriais Relacionados

❓ Perguntas Frequentes

QQual é a diferença entre $top e $first?
A$top pega o melhor por uma regra de ordenação explícita; $first segue a ordem de entrada.
QQual versão o $top exige?
AMongoDB 5.2 ou posterior.
Q$top pode retornar o documento inteiro?
ASim, omitir output retorna o documento inteiro.
Web-Tutorial.com

Equipe Técnica Web-Tutorial

Uma plataforma de tutoriais mantida por diversos desenvolvedores. Cada tutorial é escrito e revisado por profissionais da área correspondente. Trabalhamos para manter nosso conteúdo preciso e confiável — se encontrar algum problema, avise-nos.

100%