MongoDB $exp 运算符

2024 年 9 月 6 日 | 3 分钟阅读

MongoDB 提供了各种逻辑查询运算符。 $exp 运算符是其中一个运算符。 $exe 运算符将欧拉数 (e) 提高到给定的指数,并返回其运算的结果。

什么是欧拉数 (e)?

“e”数也被称为欧拉数。 它是一个数学常数,大约等于 2.7182818284590452353602874713527。 这个数字只是一个近似值,因为它是无理数。 欧拉数是自然对数的基础。

欧拉数的值表

数字指数值
01
12.718281828459045
27.38905609893065

语法

指数表达式可以是任何解析为数字的有效表达式。

  1. 如果输入的指数参数值为 null,则 $exp 运算符返回 null。
  2. 如果指数参数引用一个缺失的字段,则 $exp 运算符返回 null。
  3. 如果输入的指数参数值变为 NaN,则 $exp 运算符返回 NaN。

示例

在下面的示例中,我们将使用

>db.example1.find().pretty()
{
        {
         "_id" : 1, 
         "name" : "circle",
         "area" : 9
        }
        {
         "_id" : 2, 
         "name" : "square",
         "area" : 1
        }
        {
         "_id" : 3, 
         "name" : "rectangle",
         "area" : 10,
         "unit" : { 
                           "height" : 2,
                           "width" : 3
                         }
        }
        {
         "_id" : 4, 
         "name" : "triangle",
         "area" : 5
        }
}

示例 1:使用 $exp 运算符

在此示例中,我们将 $exp 运算符应用于“面积”字段。

输出

{ "area" : 9, "result" : 8103.083927575384 }
{ "area" : 1, "result" : 2.718281828459045 }
{ "area" : 10, "result" : 22026.46579480672 }
{ "area" : 5, "result" : 148.4131591025766 }

示例 2:在嵌入式文档中使用 $exp 运算符

在此示例中,我们对矩形中高度和宽度字段的值之差应用了 $exp 运算符。

输出

{ "-id" : 3, "result" : 0.367879441171442 }

其他示例

在下面的示例中,我们将使用

>db.example1.find().pretty()
{
        {
         "_id" : 1, 
         "name" : "circle",
         "area" : null
        }
        {
         "_id" : 2, 
         "name" : "square",
         "data" : infinity
        }
        {
         "_id" : 3, 
         "name" : "rectangle",
         "data" : -infinity
        }
}

示例 3:Null 值

在此示例中,我们将 $exp 运算符应用于“面积”字段。

输出

{ "area" : null, "result" : null }

在这里,“面积”字段的值为 null,因此它将返回 null。

示例 4:缺失字段

在此示例中,我们将 $exp 运算符应用于“周长”字段。

输出

{ "_id" : 1, "result" : null }
{ "_id" : 2, "result" : null }
{ "_id" : 3, "result" : null }

示例 5:无穷值

输出

{ "data" : Infinity, "result" : Infinity }
{ "data" : -Infinity, "result" : 0 }