$firstN (Acumulador de Primeiros N)

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

$firstN (Acumulador de Primeiros N)

$firstN é um acumulador que retorna um array dos valores de um campo dos primeiros N documentos de um grupo (na ordem de entrada), disponível desde o MongoDB 5.2. Ele se relaciona com $first como $topN se relaciona com $top, mas segue a ordem de entrada em vez de uma regra de ordenação. n pode ser constante ou expressão.

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

📝 Sintaxe

{ $group: { _id: <key>, firstN: { $firstN: { input: <expression>, n: <number> } } } }

Retorno:Matriz de valores de expressão dos primeiros N documentos do grupo

▶ Exemplo

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

// $firstN: preços dos 3 primeiros registros por item
db.sales.aggregate([
  { $sort: { date: 1 } },
  { $group: { _id: '$item', first3: { $firstN: { input: '$price', n: 3 } } } }
])

Saída:

{ "_id": "Pen", "first3": [20, 25, 30] }

📌 Notas

Mais casos práticos em breve.

📚 Tutoriais Relacionados

❓ Perguntas Frequentes

QQual é a diferença entre $firstN e $topN?
A$firstN pega os primeiros N na ordem de entrada; $topN pega os N principais por uma regra sortBy.
QPreciso ordenar antes?
AA ordem segue a entrada; use $sort por tempo antes para pegar os N mais antigos.
QE se n exceder o tamanho do grupo?
AEle retorna todos os valores do grupo.
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%