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 (função de janela)

$stdDevPop

Retorna o desvio padrão da população de valores de documentos em uma janela específica.

Observação

Desambiguação

Esta página descreve $stdDevPop quando usado como uma função de janela.

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

{
$setWindowFields: {
...
output: {
<field>: {
$stdDevPop: <expression>
}
}
}
}

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

A função de janela $stdDevPop ignora valores não numéricos. Se a janela não contiver valores 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.

Este exemplo usa $setWindowFields para adicionar a cada documento um campo que contém o desvio padrão da população em execução das classificações do IMDb para Murais de 2009 e 2010.

db.movies.aggregate( [
{
$match: {
genres: "Musical",
year: { $in: [ 2009, 2010 ] },
"imdb.rating": { $type: "double" }
}
},
{
$setWindowFields: {
partitionBy: "$year",
sortBy: { title: 1 },
output: {
stdDevPopRatingInYear: {
$stdDevPop: "$imdb.rating",
window: {
documents: [ "unbounded", "current" ]
}
},
rankInYear: {
$documentNumber: {}
}
}
}
},
{
$project: {
_id: 0,
title: 1,
year: 1,
"imdb.rating": 1,
stdDevPopRatingInYear: 1,
rankInYear: 1
}
},
{ $sort: { year: 1, title: 1 } }
] )

O pipeline anterior:

  • Usa $match para filtrar Murais de 2009 e 2010 com uma classificação numérica do IMDb.

  • Utiliza $setWindowFields para dividir filmes por year e classificá-los por title. O estágio usa $stdDevPop com uma janela de documentos de [ "unbounded", "current" ] para criar stdDevPopRatingInYear. O campo stdDevPopRatingInYear contém o desvio padrão da população em execução de imdb.rating desde o início da partição até o documento atual. $documentNumber atribui um número de linha por partição (rankInYear) a cada documento.

  • Utiliza $project para incluir title, year, imdb, stdDevPopRatingInYear e rankInYear na saída.

  • Utiliza $sort para classificar os resultados por ano e título.