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