MongoDB里的神奇工具:$acosh聚合函数实战示例
最编程
2024-02-20 17:31:24
...
以度数为单位的反双曲余弦
trigonometry
集合包含一个文档,用于存储二维图形x
轴上的数值:
{
"_id" : ObjectId("5c50782193f833234ba90d85"),
"x-coordinate" : NumberDecimal("3")
}
下面的聚合操作使用$acosh
表达式计算x-coordinate
的反双曲余弦值,并使用$addFields
管道阶段将其添加到输入文档。
db.trigonometry.aggregate([
{
$addFields : {
"y-coordinate" : {
$radiansToDegrees : { $acosh : "$x-coordinate" }
}
}
}
])
$radiansToDegrees
表达式将$acosh
返回的弧度值转换为度数。
上面的命令执行后返回下面的结果:
{
"_id" : ObjectId("5c50782193f833234ba90d85"),
"x-coordinate" : NumberDecimal("3"),
"y-coordinate" : NumberDecimal("100.9979734210524228844295260083432")
}
由于x-coordinate
使用128-bit decimal
,所以$acosh
也输出128-bit decimal
以弧度为单位的反双曲余弦
以上例数据为基础,执行下面的命令:
db.trigonometry.aggregate([
{
$addFields : {
"y-coordinate" : {
$acosh : "$x-coordinate"
}
}
}
])
返回结果:
{
"_id" : ObjectId("5c50782193f833234ba90d85"),
"x-coordinate" : NumberDecimal("3"),
"y-coordinate" : NumberDecimal("1.762747174039086050465218649959585")
}