Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
See how MongoDB 9.0 delivers up to 2x higher throughput.
MongoDB Branding Shape
Register now >
Menu Docs

$stdDevPop (operador acumulador )

$stdDevPop

Calcula o desvio padrão da população de valores em um grupo de documentos. Utilize $stdDevPop se os valores abrangerem toda a população de dados que você deseja representar e você não deseja generalizar.

Se os valores representarem apenas uma amostra da população, use $stdDevSamp em vez disso.

O acumulador $stdDevPop está disponível nos seguintes estágios:

Observação

Desambiguação

Esta página descreve $stdDevPop quando usado como acumulador. Os acumuladores retornam um valor agregado em um grupo de documentos de entrada.

Você também pode usar $stdDevPop nestes outros contextos:

{ $stdDevPop: <expression> }

Para mais informações sobre expressões, consulte Expressões.

$stdDevPop retorna o desvio padrão da população dos valores de entrada como double.

$stdDevPop ignora valores não numéricos, incluindo valores ausentes. Se todos os valores de entrada forem não numéricos, $stdDevPop retornará null.

Se a entrada consistir em um único valor numérico, $stdDevPop retornará 0.

Os exemplos nesta página usam dados do conjunto de dados sample_mflix. Para obter detalhes sobre como carregar esse conjunto de dados em sua implantação autogerenciada do MongoDB , consulte Carregar o conjunto de dados de amostra. Se você fez modificações nos bancos de dados de amostra, talvez seja necessário descartar e recriar os bancos de dados para executar os exemplos nesta página.

O exemplo a seguir agrupa filmes por diretor e retorna os cinco diretores com as mais diversas classificações do IMDb, entre diretores com pelo menos 10 filmes.

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
}
] )

O pipeline anterior:

  • Usa $match para filtrar filmes que têm um campo directors e uma classificação numérica do IMDb.

  • Usa $unwind para criar um documento por diretor por filme, de modo que cada par diretor-filme seja agrupado separadamente.

  • Usa $group para agrupar por diretor, contar filmes e calcular stdDevRating usando $stdDevPop em imdb.rating.

  • Usa $match para manter apenas diretores com pelo menos 10 filmes.

  • Utiliza $sort para retornar resultados em ordem decrescente por stdDevRating.

  • Usa $limit para retornar os principais resultados de 5.