$percentile (Acumulador de Percentil)

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

$percentile (Acumulador de Percentil)

$percentile é um acumulador que retorna os valores em determinados percentis (0 a 100) de um campo dentro de um grupo, disponível desde o MongoDB 7.0. O argumento p aceita um único valor ou um array. method suporta approximate (padrão, mais rápido) e exact. Comum para latências p95/p99 e quantis salariais.

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

📝 Sintaxe

{ $group: { _id: <key>, pct: { $percentile: { input: "$field", p: [ <percentile> ], method: "approximate" } } } }

Retorno:Valores nos percentis solicitados (matriz de entrada, matriz de saída)

▶ Exemplo

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

// $percentile: latência p50, p95 e p99 por serviço
db.latency.aggregate([
  { $group: { _id: '$service', pct: { $percentile: { input: '$ms', p: [50, 95, 99], method: 'approximate' } } } }
])

Saída:

{ "_id": "api", "pct": [12, 45, 80] }

📌 Notas

Mais casos práticos em breve.

📚 Tutoriais Relacionados

❓ Perguntas Frequentes

QComo calculo o p95?
APasse p: [95] para obter esse quantil, comumente usado para monitoramento de latência.
QQuão preciso é o approximate?
AOs erros são pequenos em conjuntos grandes e é rápido — suficiente para monitoramento; use exact quando a precisão importar.
QQual é a diferença entre $percentile e $median?
A$median é fixo no percentil 50; $percentile cobre qualquer percentil.
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%