$minN (Acumulador de N Menores)
Última atualização: 2026-10-09
$minN (Acumulador de N Menores)
$minN é um acumulador que retorna um array dos N menores valores distintos de um campo em um grupo, disponível desde o MongoDB 5.2 — simétrico a $maxN. Não é preciso especificar ordenação; a ordem do resultado não é garantida. Útil para estatísticas de N menores por grupo.
| Categoria | Acumuladores |
|---|---|
| Versão do MongoDB | 5.2+ |
| Idioma do Exemplo | mongosh (Shell) |
📝 Sintaxe
{ $group: { _id: <key>, minN: { $minN: { input: <expression>, n: <number> } } } }
Retorno:Matriz dos N menores valores distintos no grupo
▶ Exemplo
Execute os comandos abaixo no seu mongosh local (requer um mongod em execução):
// $minN: as 3 menores notas distintas por turma
db.scores.aggregate([
{ $group: { _id: '$class', lowScores: { $minN: { input: '$score', n: 3 } } } }
])
Saída:
{ "_id": "A", "lowScores": [41, 55, 60] }
📌 Notas
- Exige MongoDB 5.2 ou posterior
- Deduplica automaticamente
- Ao contrário de $bottomN, $minN retorna apenas valores, não documentos ordenados
🏷️ Tags Relacionados
💡 Casos Relacionados
Mais casos práticos em breve.
📚 Tutoriais Relacionados
❓ Perguntas Frequentes
QQual é a diferença entre $minN e $bottomN?
A$minN pega os N menores valores distintos; $bottomN pega os N últimos documentos por uma regra sortBy.
QOs resultados são deduplicados?
ASim, duplicatas colapsam em uma só.
Qn pode ser 0?
ASim, ele retorna um array vazio.