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.

$stdDevSamp (operador de acumulación)

$stdDevSamp

Calcula la desviación estándar muestra de los valores en un grupo de documentos.

Utilice $stdDevSamp si los valores de entrada representan una muestra de una población de datos a partir de la cual desea generalizar sobre la población. Si los valores representan toda la población de datos, utilice $stdDevPop en su lugar.

El acumulador $stdDevSamp está disponible en estas etapas:

Nota

Desambiguación

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

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

{ $stdDevSamp: <expression> }

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

$stdDevSamp ignora valores no numéricos, valores nulos, y campos faltantes. Si todos los valores de entrada no son numéricos o faltan, $stdDevSamp devuelve null.

Si la entrada consta de un solo valor numérico, $stdDevSamp devuelve null.

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.

Este ejemplo 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 }, stdDevSampRating: { $stdDevSamp: "$imdb.rating" } } }, { $match: { movieCount: { $gte: 10 } } }, { $sort: { stdDevSampRating: -1 } }, { $limit: 5 }] )

El pipeline anterior:

  • Utiliza $match para filtrar películas que tienen un campo directors y un imdb.rating numérico.

  • Utiliza $unwind para crear un documento separado para cada crédito de director.

  • Utiliza $group para agrupar por director, cuenta las películas con $sum y calcula stdDevSampRating utilizando $stdDevSamp en imdb.rating.

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

  • Utiliza $sort para ordenar por stdDevSampRating descendente.

  • Utiliza $limit para devolver los 5 primeros resultados.