Menu Docs
Página inicial do Docs
/
Manual do MongoDB
/ / /

$sinh (agregação)

Nesta página

  • Comportamento
  • Exemplo
$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 como double. $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.

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

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.

Voltar

$sin