MongoDB 3.4 Map Reduce 和 Decimal128

MongoDB 3.4 Map Reduce and Decimal128

是否可以在mongo 3.4

中使用map reduce累加一个新的decimal类型的字段

JavaScript 不支持 MongoDB 3.4 中添加的 Decimal128 类型的算术,因此您不能在 Map/Reduce 函数中累加这些十进制值。 JavaScript 的一般限制之一是它只有一种本机数字类型 Number (64-bit double-precision binary).

但是,Decimal128 受聚合框架的 arithmetic expressions and accumulators 支持。

总的来说聚合框架在效率和性能上更值得推荐。 Map/Reduce 处理涉及在底层存储表示 (BSON) 和 JavaScript 之间转换数据;聚合框架用C++实现,可以直接操作BSON对象