$first (Acumulador de Primeiro)

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

$first (Acumulador de Primeiro)

$first é um acumulador que retorna um campo do primeiro documento de um grupo. Ele depende da ordem de entrada, então $sort antes de $group (ou o sortBy de $group desde o MongoDB 5.2) é importante. Ele também funciona como operador de janela em $setWindowFields.

CategoriaAcumuladores
Versão do MongoDB1.0+
Idioma do Exemplomongosh (Shell)

📝 Sintaxe

{ $group: { _id: <key>, first: { $first: "$field" } } }

Retorno:Valor do campo do primeiro documento do grupo (pela ordem de entrada)

▶ Exemplo

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

// $first: preço do registro mais antigo por item
db.sales.aggregate([
  { $sort: { date: 1 } },
  { $group: { _id: '$item', firstPrice: { $first: '$price' } } }
])

Saída:

{ "_id": "Pen", "firstPrice": 20 }

📌 Notas

📚 Tutoriais Relacionados

❓ Perguntas Frequentes

QComo a ordem de $first é garantida?
A$sort antes de $group, ou use sortBy dentro de $group no MongoDB 5.2 ou posterior.
QQual é a diferença entre $first e $min?
A$first pega o primeiro documento na ordem de entrada; $min pega o menor valor independentemente da ordem.
QE grupos vazios?
AGrupos vazios nunca são criados; $group emite apenas grupos reais.
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%