我最近将Oj JSON解析器部署到生产中,默认情况下将浮点数加载到BigDecimals。
当我将由Oj解析的哈希值插入MongoDB时,我得到一个异常,说明BSON无法序列化BigDecimals。
这是异常消息:
BSON :: InvalidDocument:无法将数值类型BigDecimal序列化为 BSON;只支持Bignum,Fixnum和Float。
我可以配置Oj将浮点数转换为浮点数,但我猜测存在性能损失。
我正在使用旧的BSON gem(版本1.12.5,当前版本是4.0.1),我还没有检查是否有更新的版本已经为我处理过这个问题。我不确定我是否可以升级,因为我暂时停留在MongoDB 2.x上。
如果我从BigDecimal切换到float,会有性能损失吗?有没有更好的方法允许BSON库序列化BigDecimal?