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

$stdDevSamp (operador acumulador )

$stdDevSamp

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

Utilize $stdDevSamp se os valores de entrada representarem 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 nos seguintes estágios:

Observação

Desambiguação

Esta página descreve $stdDevSamp quando usado como acumulador. Os 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 forem não numéricos ou ausentes, $stdDevSamp retornará 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 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 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 },
stdDevSampRating: { $stdDevSamp: "$imdb.rating" }
}
},
{
$match: { movieCount: { $gte: 10 } }
},
{
$sort: { stdDevSampRating: -1 }
},
{
$limit: 5
}
] )

O pipeline anterior:

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

  • Utiliza $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.

  • Utiliza $sort para classificar por stdDevSampRating decrescente.

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