Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
See how MongoDB 9.0 delivers up to 2x higher throughput.
MongoDB Branding Shape
Register now >
Docs Menu

$percentil (expresión)

$percentile

Devuelve uno o más valores percentiles calculados sobre una matriz de números.

Nota

Desambiguación

Esta página describe $percentile cuando se utiliza como una expresión que calcula valores percentiles sobre una matriz de valores de entrada.

También puedes usar $percentile en estos otros contextos:

{
$percentile: {
input: <expression>,
p: [ <expression1>, <expression2>, ... ],
method: <string>
}
}
Campo
Tipo
Descripción

input

Arreglo

Puede ser cualquiera de las dos:

  • Una expresión que se resuelve en una matriz. Por ejemplo, $scores, donde el campo del documento $scores contiene una matriz de valores numéricos.

  • Una matriz de expresiones, cada una de las cuales se evalúa a un valor numérico. Por ejemplo, [ "$field1", "$field2", "$field3" ].

$percentile Calcula los valores percentiles de todos los valores numéricos de la matriz. Los valores no numéricos se ignoran.

p

expresión

$percentile Calcula un valor percentil para cada elemento en p. Estos elementos especifican los cuantiles a calcular y deben ser valores numéricos en el rango de 0.0 a 1.0, ambos inclusive.

$percentile devuelve resultados en el mismo orden que los elementos en p.

method

String

El método que usa MongoDB para calcular el valor percentil. El método debe ser 'approximate'.

Cuando se utiliza como expresión, $percentile siempre emplea un algoritmo de cálculo de percentiles preciso en lugar de uno aproximado, incluso cuando se especifica method: 'approximate'. Esto se debe a que las expresiones operan sobre matrices de tamaño limitado, donde es aceptable mantener todos los valores de entrada en memoria.

Cree una colección testScores:

db.testScores.insertMany( [
{ studentId: "2345", scores: [ 62, 81, 80, 75, 68 ] },
{ studentId: "2356", scores: [ 60, 83, 79, 72, 65 ] },
{ studentId: "2358", scores: [ 67, 82, 78, 70, 84 ] },
{ studentId: "2367", scores: [ 64, 72, 77, 58, 91 ] },
{ studentId: "2369", scores: [ 60, 53, 72, 85, 63 ] }
] )

El siguiente proceso utiliza $percentile para calcular las puntuaciones de las pruebas del percentil 25, 50 y 75 para cada estudiante:

db.testScores.aggregate( [
{
$project: {
_id: 0,
studentId: 1,
testPercentiles: {
$percentile: {
input: "$scores",
p: [ 0.25, 0.5, 0.75 ],
method: 'approximate'
}
}
}
}
] )

En la secuencia anterior, $project con $percentile calcula el percentil 25, 50 y 75 de la matriz scores de cada estudiante y los devuelve como testPercentiles.

Califique esta página