$sinh (agregação)
Nesta página
$sinh
Retorna o seno hiperbólico de um valor medido em radianos.
$sinh
tem a seguinte sintaxe:{ $sinh: <expression> } $sinh
usa qualquerexpressão válida que produza um número, medido em radianos. Se a expressão retornar um valor em graus, utilize o operador$degreesToRadians
para converter o valor para radianos.Por padrão ,
$sinh
retorna valores comodouble
.$sinh
também pode retornar valores como um decimal128bits se o<expression>
for resolvido para um valor decimal 128bits.Para mais informações sobre expressões, consulte Operadores de Expressão.
Comportamento
null
, NaN
e +/- Infinity
Se o argumento de entrada for resolvido para um valor de null
ou se referir a um campo ausente, $sinh
retornará null
. Se o argumento se resolve em NaN
, $sinh
retorna NaN
. Se o argumento se resolver para Infinity
negativo ou positivo, $sinh
retornará Infinity
negativo ou positivo respectivamente.
Exemplo | Resultados |
---|---|
{ $sinh: NaN } | NaN |
{ $sinh: null } | null |
{ $sinh: -Infinity } | -Infinity |
{ $sinh: Infinity } | Infinity |
Exemplo
A seguinte collection do trigonometry
contém um documento que armazena um valor do angle
medido em graus:
db.trigonometry.insertOne( { "_id" : ObjectId( "5c50782193f833234ba90d25" ), "angle" : NumberDecimal( "53.1301023541559787031443874490659" ) } )
A seguinte operação de aggregation utiliza a expressão $sinh
para calcular o seno hiperbólico de angle
e o adiciona ao documento de entrada utilizando o estágio de pipeline $addFields
:
db.trigonometry.aggregate( [ { $addFields : { "sinh_output" : { $sinh : { $degreesToRadians : "$angle" } } } } ] )
A expressão $degreesToRadians
converte o angle
de graus para radianos.
Saída de exemplo:
{ "_id" : ObjectId("5c50782193f833234ba90d25"), "angle" : NumberDecimal("53.1301023541559787031443874490659"), "sinh_output" : NumberDecimal("1.066020404405732132503284522731829") }
Como angle
é armazenado como um decimal128bits, a saída $sinh
também é um decimal 128bits.
A seguinte coleção trigonometry
contém um documento que armazena um valor angle
medido em radianos:
db.trigonometry.insertOne( { "_id" : ObjectId( "5c50782193f833234ba90d35" ), "angle" : NumberDecimal( "1.6301023541559787031443874490659" ) } )
A seguinte operação de aggregation utiliza a expressão $sinh
para calcular o seno hiperbólico de angle
e o adiciona ao documento de entrada utilizando o estágio de pipeline $addFields
:
db.trigonometry.aggregate( [ { $addFields : { "sinh_output" : { $sinh : "$angle" } } } ] )
Saída de exemplo:
{ "_id" : ObjectId("5c50782193f833234ba90d35"), "angle" : NumberDecimal("1.6301023541559787031443874490659"), "sinh_output" : NumberDecimal("2.454243813557362033961729701069671") }
Como angle
é armazenado como um decimal128bits, a saída $sinh
também é um decimal 128bits.