$log10 (aggregation)

在本页面

Definition

  • $log10
    • 3.2 版中的新功能。

计算数字的对数底数 10,并将结果作为双精度值返回。

$log10具有以下语法:

{ $log10: <number> }

<number>表达式可以是任何有效的expression,只要它可以解析为非负数即可。有关表达式的更多信息,请参见Expressions

$log10等效于$log: [ <number>, 10 ]表达式。

Behavior

如果参数解析为null的值或引用了缺少的字段,则$log10返回null。如果参数解析为NaN,则$log10返回NaN

ExampleResults
{ $log10: 1 }0
{ $log10: 10 }1
{ $log10: 100 }2
{ $log10: 1000 }3

Example

集合samples包含以下文档:

{ _id: 1, H3O: 0.0025 }
{ _id: 2, H3O: 0.001 }
{ _id: 3, H3O: 0.02 }

以下示例计算 sample 的 pH 值:

db.samples.aggregate( [
   { $project: { pH: { $multiply: [ -1, { $log10: "$H3O" } ] } } }
] )

该操作返回以下结果:

{ "_id" : 1, "pH" : 2.6020599913279625 }
{ "_id" : 2, "pH" : 3 }
{ "_id" : 3, "pH" : 1.6989700043360187 }

See also