$asinh用来计算反双曲正弦,返回指定表达式的反双曲正弦值。
语法
{ $asinh: <expression> }
<expression>为可被解析为数值的表达式$asinh返回弧度,使用$radiansToDegrees运算符可以把弧度转换为角度$asinh默认返回双精度数double,如果表达式<expression>解析为128-bit decimal则返回同样类型。
使用
如果参数解析为null或引用不存在的字段,则结果返回null,如果参数解析为NaN,则结果返回NaN,如果参数解析为正无穷或负无穷,则结果返回负无穷或正无穷,如下表所示:
| 示例 | 结果 |
|---|---|
{ $asinh: NaN } | NaN |
{ $asinh: null } | null |
{ $asinh : Infinity} | Infinity |
{ $asinh : -Infinity } | -Infinity |
举例
trigonometry集合中有下面的文档,包含了一个沿x轴的2-D图像:
{
"_id" : ObjectId("5c50782193f833234ba90d85"),
"x-coordinate" : NumberDecimal("1")
}
反双曲正弦角度
下面的聚合操作使用$asinh表达式计算x-coordinate的反双曲正弦,然后使用$radiansToDegrees运算符将结果转换为度数,最后使用$addFields管道阶段将其添加到输入文档。
db.trigonometry.aggregate([
{
$addFields : {
"y-coordinate" : {
$radiansToDegrees : { $asinh : "$x-coordinate" }
}
}
}
])
执行的结果为:
{
"_id" : ObjectId("5c50782193f833234ba90d85"),
"x-coordinate" : NumberDecimal("1"),
"y-coordinate" : NumberDecimal("50.49898671052621144221476300417157")
}
反双曲正弦弧度
与上例不同,在求反双曲正弦后,没有进行度数的转换,结果为弧度:
db.trigonometry.aggregate([
{
$addFields : {
"y-coordinate" : {
$asinh : "$x-coordinate"
}
}
}
])
结果为:
{
"_id" : ObjectId("5c50782193f833234ba90d85"),
"x-coordinate" : NumberDecimal("1"),
"y-coordinate" : NumberDecimal("1.818446459232066823483698963560709")
}
本文介绍了MongoDB中$asinh函数用于计算反双曲正弦值的用法,展示了如何在聚合操作中结合$asinh和$radiansToDegrees进行角度或弧度转换的应用实例。

415

被折叠的 条评论
为什么被折叠?



