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

$tanh (agregação)

Nesta página

  • Comportamento
  • Exemplo
$tanh

Retorna a tangente hiperbólica de um valor medido em radianos.

$tanh tem a seguinte sintaxe:

{ $tanh: <expression> }

$tanh 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 , $tanh retorna valores como double. $tanh 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, $tanh retornará null. Se o argumento se resolve em NaN, $tanh retorna NaN. Se o argumento se resolver para Infinity negativo ou positivo, $tanh retornará -1 ou 1 respectivamente.

Exemplo
Resultados

{ $tanh: NaN }

NaN

{ $tanh: null }

null

{ $tanh: -Infinity }

-1

{ $tanh: Infinity }

1

A seguinte collection do trigonometry contém um documento que armazena um valor do angle medido em graus:

db.trigonometry.insertOne(
{
"_id" : ObjectId( "5c50782193f833234ba90d45" ),
"angle" : NumberDecimal( "53.1301023541559787031443874490659" )
}
)

A seguinte operação de agregação utiliza a expressão $tanh para calcular a tangente hiperbólica de angle e a adiciona ao documento de entrada utilizando o estágio de pipeline $addFields :

db.trigonometry.aggregate( [
{
$addFields : {
"tanh_output" : { $tanh : { $degreesToRadians : "$angle" } }
}
}
] )

A expressão $degreesToRadians converte o angle de graus para radianos.

Saída de exemplo:

{
"_id" : ObjectId("5c50782193f833234ba90d45"),
"angle" : NumberDecimal("53.1301023541559787031443874490659"),
"tanh_output" : NumberDecimal("0.7293303448445332820512777329448416")
}

Como angle é armazenado como um decimal128bits, a saída $tanh 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( "5c50782193f833234ba90d55" ),
"angle" : NumberDecimal( "1.6301023541559787031443874490659" )
}
)

A seguinte operação de agregação utiliza a expressão $tanh para calcular a tangente hiperbólica de angle e a adiciona ao documento de entrada utilizando o estágio de pipeline $addFields :

db.trigonometry.aggregate( [
{
$addFields : {
"tanh_output" : { $tanh : "$angle" }
}
}
] )

Saída de exemplo:

{
"_id" : ObjectId("5c50782193f833234ba90d55"),
"angle" : NumberDecimal("1.6301023541559787031443874490659"),
"tanh_output" : NumberDecimal("0.9260761562750713360156803177935379")
}

Como angle é armazenado como um decimal128bits, a saída $tanh também é um decimal 128bits.

Voltar

$tan