$sinhRetorna o seno hiperbólico de um valor medido em radianos.
$sinhtem a seguinte sintaxe:{ $sinh: <expression> } $sinhusa qualquerexpressão válida que produza um número, medido em radianos. Se a expressão retornar um valor em graus, utilize o operador$degreesToRadianspara converter o valor para radianos.Por padrão ,
$sinhretorna valores comodouble.$sinhtambé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 Expressões.
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 |
|---|---|
|
|
|
|
|
|
|
|
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" : Decimal128( "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" : Decimal128("53.1301023541559787031443874490659"), "sinh_output" : Decimal128("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" : Decimal128( "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" : Decimal128("1.6301023541559787031443874490659"), "sinh_output" : Decimal128("2.454243813557362033961729701069671") }
Como angle é armazenado como um decimal128bits, a saída $sinh também é um decimal 128bits.