BSON无法序列化BigDecimal

时间:2016-02-07 14:33:01

标签: ruby json mongodb serialization bson

我最近将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?

0 个答案:

没有答案