MongoDB $ln 运算符2024 年 9 月 6 日 | 3 分钟阅读 MongoDB 中的 $ln 运算符是什么?MongoDB 提供了各种算术表达式运算符。 $ln 运算符是这些运算符之一。 $ln 运算符用于计算一个数的自然对数(ln,即 loge),并以双精度数的形式返回结果。 $ln 运算符用于聚合管道阶段。 自然对数 (ln) 是数学常数 "e" 的底数的对数,其中 e 是一个无理数,以 2.7182818284590452353602874713527 开头。 "e" 也被称为欧拉数。 在 JavaScript 中,我们使用 Math.E 来表示 "e"。 $ln 运算符的语法其中, < number > 可以是任何解析为非负数(即 0、1、2、3 ….n)的有效表达式。 重要提示
示例假设我们有一个包含以下文档的产品集合。 示例 1:使用 $ln 运算符 在此示例中,我们使用 $ln 运算符计算 "value" 字段的自然对数。 输出 { "name" : "toys", "value" : 10, "natural_log" : 2.30258509299 }
{ "name" : "pen", "value" : 5, "natural_log" : 1.60943791243 }
{ "name" : "phone", "value" : 8, "natural_log" : 2.07944154168 }
{ "name" : "charger", "value" : 20, "natural_log" : 2.99573227355 }
{ "name" : "laptop", "value" : 30, "natural_log" : 3.40119738166 }
假设我们将以下文档添加到我们的集合中 {
{
"_id" : 6,
"name" : "headphone",
"value" : -10
}
{
"_id" : 7,
"name" : "pen",
"value" : -20
}
}
示例 2:超出范围的值 在此示例中,我们使用 $ln 运算符计算 "value" 字段的自然对数。 输出 uncaught exception : Error : command failed : {
"ok": 0,
"errmsg": "$ln's argument must be a positive number, but is -20",
"code": 28766,
"codeName": "Location28766"
}: aggregate failed:
_getErrorWithCode@src/mongo/shell/utils.js : 25 : 13
doassert@src/mongo/shell/assert.js : 18 : 14
_assertCommandWorked@src/mongo/shell/assert.js : 639 : 17
assert.commandWorked@src/mongo/shell/assert.js : 729 : 16
DB.prototype._runAggregate@src/mongo/shell/db.js : 266 : 5
DBCollection.prototype.aggregate@src/mongo/shell/collection.js : 1058 : 12
@(shell) : 1 : 1
假设我们在集合中再添加一个文档 {
{
"_id" : 8,
"name" : "phone",
"value" : null
}
}
示例 3:空值 在此示例中,我们使用 $ln 运算符计算 "value" 字段的自然对数。 输出 { "name" : "phone", "value" : null, "natural_log" : null }
示例 4:不存在的字段 如果将 $ln 运算符应用于不存在的字段,则返回 null。 在此示例中,我们使用 $ln 运算符计算 "value" 字段的自然对数。 输出 { "name" : "toys", "value" : 10, "natural_log" : null }
|
我们请求您订阅我们的新闻通讯以获取最新更新。