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.

$stdDevPop (operador de acumulación)

$stdDevPop

Calcula la desviación estándar poblacional de los valores en un grupo de documentos. Utilice $stdDevPop si los valores abarcan toda la población de datos que desea representar y no desea generalizar.

Si los valores representan solo una muestra de la población, utilice $stdDevSamp en su lugar.

El acumulador $stdDevPop está disponible en estas etapas:

Nota

Desambiguación

Esta página describe $stdDevPop cuando se utiliza como acumulador. Los acumuladores devuelven un valor agregado en un grupo de documentos de entrada.

También puede usar $stdDevPop en estos otros contextos:

{ $stdDevPop: <expression> }

Para obtener más información sobre las expresiones, consulta Expresiones.

$stdDevPop devuelve la desviación estándar de la población de los valores de entrada como un double.

$stdDevPop ignora los valores no numéricos, incluidos los valores faltantes. Si todos los valores de entrada no son numéricos, $stdDevPop devuelve null.

Si la entrada consta de un solo valor numérico, $stdDevPop devuelve 0.

Los ejemplos de esta página utilizan datos del conjunto de datos sample_mflix. Para obtener más información sobre cómo cargar este conjunto de datos en la implementación autogestionada de MongoDB, consultar Cargar el conjunto de datos de muestra. Si realizó alguna modificación en las bases de datos de muestra, es posible que deba descartar y volver a crear las bases de datos para ejecutar los ejemplos de esta página.

El siguiente ejemplo agrupa películas por director y devuelve los cinco directores con las calificaciones de IMDb más variadas, entre los directores con al menos 10 películas.

db.movies.aggregate( [ { $match: { directors: { $exists: true }, "imdb.rating": { $type: "double" } } }, { $unwind: "$directors" }, { $group: { _id: "$directors", movieCount: { $sum: 1 }, stdDevRating: { $stdDevPop: "$imdb.rating" } } }, { $match: { movieCount: { $gte: 10 } } }, { $sort: { stdDevRating: -1 } }, { $limit: 5 }] )

El pipeline anterior:

  • Utiliza $match para usar filtro películas que tienen un campo directors y una calificación numérica de IMDb.

  • Utiliza $unwind para crear un documento por director y por película, de modo que cada par director-película se agrupa por separado.

  • Utiliza $group para agrupar por director, contar películas y calcular stdDevRating utilizando $stdDevPop en imdb.rating.

  • Utiliza $match para mantener solo a los directores con al menos 10 películas.

  • Utiliza $sort para devolver resultados en orden descendente por stdDevRating.

  • Utiliza $limit para devolver los 5 primeros resultados.