$bottomN (Acumulador de N de Fundo)
Última atualização: 2026-10-09
$bottomN (Acumulador de N de Fundo)
$bottomN é um acumulador que retorna os N últimos documentos (ou valores de expressão) por grupo conforme uma ordem de ordenação especificada, disponível desde o MongoDB 5.2 — simétrico a $topN. A ordem vem do sortBy de $group; n pode ser constante ou expressão. Use-o para listas de N menores ou N mais antigos por grupo.
| Categoria | Acumuladores |
|---|---|
| Versão do MongoDB | 5.2+ |
| Idioma do Exemplo | mongosh (Shell) |
📝 Sintaxe
{ $group: { _id: <key>, bottomN: { $bottomN: { sortBy: { <field>: <1 or -1> }, output: <expression>, n: <number> } } } }
Retorno:Matriz dos N menores valores ou documentos por grupo
▶ Exemplo
Execute os comandos abaixo no seu mongosh local (requer um mongod em execução):
// $bottomN: os 3 últimos nomes por turma
db.scores.aggregate([
{ $group: { _id: '$class', bottom3: { $bottomN: { sortBy: { score: 1 }, output: '$name', n: 3 } } } }
])
Saída:
{ "_id": "A", "bottom3": ["Dave", "Eve", "Frank"] }
📌 Notas
- Exige MongoDB 5.2 ou posterior
- Simétrico a $topN; a direção é controlada pelo sortBy
- n aceita uma expressão para contagens dinâmicas
🏷️ Tags Relacionados
💡 Casos Relacionados
Mais casos práticos em breve.
📚 Tutoriais Relacionados
❓ Perguntas Frequentes
QComo se define a direção de $bottomN em relação a $topN?
AA direção do sortBy decide: crescente faz $bottomN pegar o segmento de valores mais baixos.
Qn pode ser dinâmico?
ASim, n aceita uma expressão.
Q$bottomN retorna documentos inteiros?
AOmita output para documentos inteiros; especifique output para campos selecionados.