在mongo db中存储大整数

时间:2016-01-22 20:48:00

标签: mysql ruby-on-rails mongodb

我有一个rails应用程序,我的一个表在mysql中有一个大整数键。我想从mongodb中的mysql表中存档一些数据,但我不确定在mongoid中的字段语句中使用哪种类型来存储orignal_id,我无意改变mongoid会生成的id,我不是希望改变新表的_id字段。

3 个答案:

答案 0 :(得分:2)

如果您使用的是mongoid,则可以将该字段定义为整数。整数是Ruby中Fixnum或Bignum类的实例对象。如果Fixnum上的任何操作超出其范围,则该值将自动转换为Bignum。

答案 1 :(得分:0)

我不使用rails,但NumberLong也可能存在于Rails中。这是64位整数的包装器。使用唯一索引,您可能会得到与MySQL类似的结果。

答案 2 :(得分:0)

JavaScript中数字值的唯一选择是Number。可以安全表示的最大整数是:9007199254740991。根据mysql文档,最大bigint是9223372036854775807,是未签名的两倍。

如果维持保真度很重要,也许你应该把它保存为字符串。