$limit (Limite)
Última atualização: 2026-10-09
$limit (Limite)
$limit trunca o pipeline para os primeiros N documentos na ordem atual, alterando apenas a contagem, não o conteúdo. Combinado com $sort, implementa consultas top-N. Colocar $limit cedo reduz drasticamente os dados que os estágios posteriores precisam processar — uma otimização comum.
| Categoria | Estágios Principais |
|---|---|
| Versão do MongoDB | 1.0+ |
| Idioma do Exemplo | mongosh (Shell) |
📝 Sintaxe
{ $limit: <inteiro positivo> }
⚙️ Parâmetros
| quantidade | Número de documentos a manter; deve ser um inteiro positivo. |
|---|
Retorno:Fluxo de documentos limitado aos primeiros N documentos
▶ Exemplo
Execute os comandos abaixo no seu mongosh local (requer um mongod em execução):
// $limit: top 5 artigos por visualizações
db.articles.aggregate([
{ $sort: { views: -1 } },
{ $limit: 5 }
])
Saída:
// Os 5 artigos mais vistos
📌 Notas
- $limit mantém os primeiros N documentos na ordem atual do pipeline
- O argumento deve ser um inteiro positivo; 0 ou negativo gera erro
- Ordene primeiro, depois limite, para obter um top-N verdadeiro
🏷️ Tags Relacionados
💡 Casos Relacionados
Introdução aos pipelines de agregação: o método `aggregate` e o estágio básico
Fluxos de alterações: monitoramento de alterações em tempo real
$facet + $bucket + Pesquisa de texto/geoespacial
$lookup e associações com múltiplos conjuntos
📚 Tutoriais Relacionados
❓ Perguntas Frequentes
Q$limit e $skip podem ser usados juntos?
ASim. $skip descarta os primeiros N documentos, depois $limit trunca — paginação por deslocamento mais limite.
QÉ útil colocar $limit cedo?
ASim. Quanto mais cedo a truncagem, menos dados os estágios posteriores processam.
Q$limit pode receber um argumento variável?
ANão, deve ser um inteiro positivo literal; use um sub-pipeline $facet para contagens dinâmicas.