MongoDB $log 运算符
MongoDB 提供了不同类型的算术表达式运算符,用于聚合管道阶段, $log运算符就是其中之一。此运算符用于在指定的基数中查找数字的对数,并以双精度形式返回结果。
句法:
{ $log: [ , ] }
在这里,数字是一个有效的表达式,只要它解析为一个非负数,而base是一个有效的表达式,直到它解析为一个大于1 的正数。
- 如果输入的值为空,则此运算符将返回空。
- 如果输入的值为 NaN,则此运算符将返回 NaN。
- 如果输入的值为缺失字段,则此运算符将返回 null。
例子:
在以下示例中,我们正在使用:
Database: GeeksforGeeks
Collection: example
Document: two documents that contain the details of the shapes in the form of field-value pairs.
使用 $log运算符:
在这个例子中,我们会发现侧方视野的平方文档中值的日志。在这里,基值是 10。
db.example.aggregate([{$match:{name: "Square"}},
... {$project: {side:1, logSide: {$log: ["$side", 10]}}}])
在嵌入文档中使用 $log运算符:
在这个例子中,我们将在矩形文档中找到measurement.width字段的值的日志。这里,基值是 2。
db.example.aggregate([{$match:{name: "Rectangle"}},
... {$project: {"measurement.width": 1,
logWidth: {$log: ["$measurement.width", 2]}}}])