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.
Menu Docs

$stdDevSamp (operador acumulador )

$stdDevSamp

Calcula o desvio padrão da amostra dos valores em um grupo de documentos.

Use $stdDevSamp se os valores de entrada representam uma amostra de uma população de dados a partir da qual você deseja generalizar sobre a população. Se os valores representarem toda a população de dados, use $stdDevPop em vez disso.

O acumulador $stdDevSamp está disponível nestes estágios:

Observação

Desambiguação

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

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

{ $stdDevSamp: <expression> }

$stdDevSamp retorna o desvio padrão da amostra dos valores de entrada como double.

$stdDevSamp ignora valores não numéricos, valores nulos e campos ausentes. Se todos os valores de entrada não forem numéricos ou estiverem ausentes, $stdDevSamp retorna null.

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

Os exemplos nesta página usam dados do conjunto de dados sample_mflix. Para obter detalhes sobre como carregar este conjunto de dados em sua implantação do MongoDB autogerenciado, consulte Carregar o conjunto de dados de amostra. Se você fez alguma modificação 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 retorna os cinco diretores com as classificações IMDb mais variadas entre os 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 },
stdDevSampRating: { $stdDevSamp: "$imdb.rating" }
}
},
{
$match: { movieCount: { $gte: 10 } }
},
{
$sort: { stdDevSampRating: -1 }
},
{
$limit: 5
}
] )

O pipeline anterior:

  • Usa $match para filtro filmes que têm um campo directors e um imdb.rating numérico.

  • Usa $unwind para criar um documento separado para cada crédito de diretor.

  • Usa $group para agrupar por diretor, conta os filmes com $sum e calcula stdDevSampRating usando $stdDevSamp em imdb.rating.

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

  • Usa $sort para ordenar por stdDevSampRating decrescente.

  • Usa $limit para retornar os 5 principais resultados.