【发布时间】:2017-06-19 09:47:18
【问题描述】:
假设我有以下聚合:
db.a.aggregate(
[
{ $project: { total: { $multiply: [ 4533, 0.0001 ] } } }
]
)
这个聚合的输出是 0.45330000000000004,而它显然应该是 0.4533。这是聚合框架中的错误吗?
【问题讨论】:
-
不,这不是错误。这就是 mongodb 给你的方式。在 nodejs 中获取值后可以使用 toFixed。或者你可以使用这个github.com/debitoor/mongo-round
-
Welcome to computer science。如果您想要不同的东西,请使用
$trunc。 -
我想要做的是仅使用聚合框架将一个数字舍入到 0.453334 到小数点后 4 位。 $trunc 会将数字截断为整数,因此不适用于我的情况。
标签: mongodb aggregation-framework