如何在meteor中存储整数(numberLong)?

如何在meteor中存储整数(numberLong)?,meteor,Meteor,我试图将财务数据插入到集合中,因此我想将我的Javascript数字明确地转换为numberlong。不幸的是,以下方法不起作用: var myValue = parseInt('13', 10); Finance.insert({ bal1: NumberLong(myValue), }); 使用Meteor的正确方法是什么 var myValue = parseInt('13', 10); Finance.insert({ stats: { ba

我试图将财务数据插入到集合中,因此我想将我的Javascript数字明确地转换为numberlong。不幸的是,以下方法不起作用:

  var myValue = parseInt('13', 10);
  Finance.insert({
    bal1: NumberLong(myValue),
  });
使用Meteor的正确方法是什么

var myValue = parseInt('13', 10);
Finance.insert({
    stats: {
        bal1: NumberLong(myValue)
    }
});

只要
NumberLong()
作为一种方法存在,上述方法就应该有效。Mongo支持您根据文档查找的号码类型。

回答我自己的问题。 根据我在上的帖子:

我相信在0.6.5版本中,Meteor将MongoDB驱动程序从1.3.7升级到1.3.17版本时,读取时的铸造问题已经解决

:

以及:

我查过了,Meteor确实再次收到了号码

考虑到:

  • 根据ECMA:“注意所有的正整数和负整数 其震级不大于2^53,可在 数字类型
  • 如果mongo确实很长,那么您希望它存储为numberLong

…我们现在应该很好:)

Hi DigiLord,NumberLong不幸地不作为方法存在,因此引发了错误。请注意,这仍然不允许我们显式强制转换为NumberLong,请参阅git第1314期:
1.3.13 2013-07-31
- Added promoteLongs option for to allow for overriding the promotion of Longs to Numbers and return the actual Long.
Db()
promoteLongs {Boolean, default:true}, when deserializing a Long will fit it into a Number if it’s smaller than 53 bits