- $tanh
- ラジアンで測定された値の双曲線タンジェントを返します。 - $tanhの構文は次のとおりです。- { $tanh: <expression> } - $tanhは、ラジアンで測定された数値に変換される有効な式であればどれでもかまいません。 式が値を度単位で返す場合は、- $degreesToRadians演算子を使用して値をラジアンに変換します。- デフォルトでは、 - $tanhは値を- doubleとして返します。- $tanhでは、- <expression>が128ビットの 10 進数値に解決される場合は、 128ビットの 10 進数として値を返すこともできます。- 式の詳細については、「式 」を参照してください。 
動作
null、NaN 、+/- Infinity
入力引数がnullの値に解決されるか、欠落しているフィールドを参照する場合、 $tanhはnullを返します。 引数がNaNに解決されると、 $tanhはNaNを返します。 引数が負のInfinityに解決される場合、 $tanhはそれぞれ-1または1を返します。
| 例 | 結果 | 
|---|---|
| 
 | 
 | 
| 
 | 
 | 
| 
 | 
 | 
| 
 | 
 | 
例
次のtrigonometryコレクションには、度単位で測定されたangle値を保存するドキュメントが含まれています。
db.trigonometry.insertOne(    {       "_id" : ObjectId( "5c50782193f833234ba90d45" ),       "angle" : Decimal128( "53.1301023541559787031443874490659" )    } ) 
次の集計操作では、 $tanh式を使用してangleの双曲線タンジェントを計算し、それを$addFieldsパイプライン ステージを使用して入力ドキュメントに追加します。
db.trigonometry.aggregate( [    {       $addFields : {          "tanh_output" : { $tanh : { $degreesToRadians : "$angle" } }       }    } ] ) 
$degreesToRadians式は、 angleを度単位でラジアンに変換します。
出力例:
{    "_id" : ObjectId("5c50782193f833234ba90d45"),    "angle" : Decimal128("53.1301023541559787031443874490659"),    "tanh_output" : Decimal128("0.7293303448445332820512777329448416") } 
angleは128ビットの 10 進数として保存されるため、 $tanhの出力も128ビットの 10 進数になります。
次のtrigonometryコレクションには、ラジアンで測定されたangle値を保存するドキュメントが含まれています。
db.trigonometry.insertOne(    {       "_id" : ObjectId( "5c50782193f833234ba90d55" ),       "angle" : Decimal128( "1.6301023541559787031443874490659" )    } ) 
次の集計操作では、 $tanh式を使用してangleの双曲線タンジェントを計算し、それを$addFieldsパイプライン ステージを使用して入力ドキュメントに追加します。
db.trigonometry.aggregate( [    {       $addFields : {          "tanh_output" : { $tanh : "$angle" }       }    } ] ) 
出力例:
{    "_id" : ObjectId("5c50782193f833234ba90d55"),    "angle" : Decimal128("1.6301023541559787031443874490659"),    "tanh_output" : Decimal128("0.9260761562750713360156803177935379") } 
angleは128ビットの 10 進数として保存されるため、 $tanhの出力も128ビットの 10 進数になります。