Definição
Retorna o desvio padrão da amostra de valores numéricos em uma array.
Observação
Desambiguação
Esta página descreve $stdDevSamp quando usado como uma expressão, que retorna o desvio padrão da amostra de valores numéricos em uma array.
Você também pode usar $stdDevSamp nestes outros contextos:
$stdDevSamp (accumulator), que calcula o desvio padrão da amostra de valores em um grupo de documentos.$stdDevSamp (window function), que é usado no estágio$setWindowFieldspara calcular o desvio padrão da amostra de valores em uma janela.
Sintaxe
Quando usado como expressão, $stdDevSamp tem uma destas sintaxes:
{ $stdDevSamp: <expression> }
Na sintaxe anterior, o operando é uma única expressão que avalia para uma matriz. $stdDevSamp atravessa a array e retorna o desvio padrão da amostra dos valores numéricos da array.
{ $stdDevSamp: [ <expression1>, <expression2>, ... ] }
Na sintaxe anterior, cada expressão deve avaliar para um único valor numérico. $stdDevSamp gera o desvio padrão da amostra desses valores. Valores não numéricos são ignorados.
Comportamento
Tipo de resultado
$stdDevSamp retorna o desvio padrão da amostra dos valores de entrada como double.
Non-Numeric Values
$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.
Valor único
Se houver apenas um valor de entrada numérico, $stdDevSamp retornará null.
Exemplo
Crie uma coleção testScores:
db.testScores.insertMany( [ { studentId: "2345", scores: [ 62, 81, 80, 75, 68, 72, 74, 78, 69, 77 ] }, { studentId: "2356", scores: [ 60, 83, 79, 72, 65, 71, 68, 74, 64, 76 ] }, { studentId: "2358", scores: [ 67, 82, 78, 70, 84, 73, 79, 71, 88, 75 ] }, { studentId: "2367", scores: [ 64, 72, 77, 58, 91, 66, 83, 55, 94, 61 ] }, { studentId: "2369", scores: [ 60, 53, 72, 85, 63, 88, 57, 79, 66, 74 ] } ] )
O pipeline a seguir usa $stdDevSamp para calcular o desvio padrão da amostra das pontuações nos testes de cada aluno:
db.testScores.aggregate( [ { $project: { _id: 0, studentId: 1, scoreStdDev: { $stdDevSamp: "$scores" } } } ] )
No pipeline anterior, $project com $stdDevSamp calcula o desvio padrão da amostra da array scores de cada aluno e o retorna como scoreStdDev.