MongoDB $log10运算符
MongoDB中的$log10
运算符是什么
MongoDB提供了各种算术表达式运算符,$log10
运算符就是其中之一。$log10
运算符用于计算一个数的以10为底的对数,并将结果作为双精度数返回。$log10
运算符在MongoDB 3.2版本中添加。
$log10
运算符等同于以下表达式($log:[, 10])
。
$log10运算符的语法
其中,<number>
可以是任何解析为非负数(即0, 1, 2, 3… n)的有效表达式。
重要提示
- 如果
<number>
的值为空,返回 null。 - 如果输入的值引用了一个缺失的字段,返回 null。
- 如果
<number>
的值为 NaN,返回 NaN。
Example | Output |
---|---|
{ $log10 : 1 } | 0 |
{ $log10 : 10 } | 1 |
{ $log10 : 100 } | 2 |
{ $log10 : 1000 } | 3 |
{ $log10 : null } | null |
{ $log10 : 10 * 1 } | NaN |
示例
假设我们有一个包含以下文档的产品集合。
示例1:使用$log10运算符
在这个示例中,我们将使用$log10运算符来计算所有“toys”文档中“Value”字段的以10为底的对数。
输出结果:
示例2:超出范围的值
log10运算符只接受正数,如果<number>
的值为负数,它将返回一个错误。在此示例中,我们将使用$log10
运算符计算“headphone”文档中“Value”字段的以10为底的对数。
输出:
示例3:空值
使用$log10
运算符时,空值会变为零。让我们对笔文件中的“Value”字段运行$log10
运算符。
输出:
示例4:NaN值
输出:
示例5:不存在的字段
如果对一个不存在的字段应用$log10运算符,将返回null。
输出: