• MongoDB聚合运算符:$sinh


    MongoDB聚合运算符:$sinh


    $sinh聚合运算符用来计算双曲正弦值,返回以弧度为单位的指定表达式的双曲正弦值。

    语法

    { $sinh: <expression> }
    
    • 1
    • 为可被解析为数值(以弧度为单位)的表达式,如果表达式以角度为单位,需要使用$degreesToRadians把角度转换为弧度。
    • $sinh返回弧度,使用$radiansToDegrees运算符可以把弧度转换为角度
    • $sinh默认返回双精度数double,如果表达式解析为128-bit decimal则返回同样类型。

    使用

    如果参数解析null或引用不存在的字段,则结果返回null;如果参数解析为NaN,返回NaN;如果参数为负无穷或正无穷,则返回正无穷。如果如下表所示:

    示例结果
    { $sinh: NaN }NaN
    { $sinh: null }null
    { $sinh: 正无穷 }正无穷
    { $sinh: 负无穷 }正无穷

    举例

    双曲正弦值角度

    trigonometry集合中有下面的文档,包含了以度为单位的角度值:

    db.trigonometry.insertOne(
       {
          "_id" : ObjectId( "5c50782193f833234ba90d25" ),
          "angle" : NumberDecimal( "53.1301023541559787031443874490659" )
       }
    )
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    下面的聚合操作使用$degreesToRadians运算符将angle转换为弧度,使用$sinh表达式计算双曲正弦值,最后使用$addFields管道阶段将其添加到输出文档。

    db.trigonometry.aggregate( [
       {
          $addFields : {
             "sinh_output" : { $sinh : { $degreesToRadians : "$angle" } }
          }
       }
    ] )
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    执行的结果为:

    {
       "_id" : ObjectId("5c50782193f833234ba90d25"),
       "angle" : NumberDecimal("53.1301023541559787031443874490659"),
       "sinh_output" : NumberDecimal("1.066020404405732132503284522731829")
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5

    双曲正弦值弧度

    trigonometry集合中有下面的文档,包含了以弧度为单位的角度值:

    db.trigonometry.insertOne(
       {
          "_id" : ObjectId( "5c50782193f833234ba90d35" ),
          "angle" : NumberDecimal( "1.6301023541559787031443874490659" )
       }
    )
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    下面的聚合操作使用$sinh表达式计算angle的双曲正弦,然后使用$addFields管道阶段将其添加到输入文档。

    db.trigonometry.aggregate( [
       {
          $addFields : {
             "sinh_output" : { $sinh : "$angle" }
          }
       }
    ] )
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    结果为:

    {
       "_id" : ObjectId("5c50782193f833234ba90d35"),
       "angle" : NumberDecimal("1.6301023541559787031443874490659"),
       "sinh_output" : NumberDecimal("2.454243813557362033961729701069671")
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
  • 相关阅读:
    心累了,看一点职场思维
    【夯实算法基础】差分约束
    ERP采购管理系统软件
    Vu3和React,它们各自的优点和适合的项目类型。
    javaee之黑马旅游网2
    CentOS安装OpenNebula(一)
    spring cloud 技术架构之拥抱 Spring 全新 OAuth 解决方案
    MySQL练习题15道
    keras-gpu安装
    离散数学 --- 根树,根数的遍历,最优树和哈夫曼算法
  • 原文地址:https://blog.csdn.net/superatom01/article/details/138091175