2016-06-28 20 views
2

JavaからMongoDBにlong値を書き込み、int64として保存します。私は、JS(使用流星)の値をフェッチMongoDB int64とJavaScript

nanoTimestamp: 1467100788819818000

及びIは、以下のオブジェクトで終わる:RoboMongoを介してデータを閲覧 Iは、次の値を確認することができ

Object {_bsontype: "Long", low_: 932437528, high_: 341586032}

クライアント側でこのタイプの作業を行うにはどうすればよいですか?

答えて

0

JavaScriptの数値型はIEEE-754倍精度バイナリ浮動小数点で、約15桁の小数精度があります。だからもののそのBSONロングからJS番号を取得することができます。

// May not be precise! 
var num = l.high_ * Math.pow(2,32) + l.low_; 

...それはまったく同じ数(あなたの例の場合には、それは1467100837142847000出てくるだろう)ではありません。

もしそれが不正確であれば(ここではナノ秒について話しています)、あなたはすべて設定されています。 「

 
nanoTimestamp: "1467100788819818000" 

...そして、いくつかのJavaScriptのいずれかを使用して:

ない場合、あなたはJavaScriptでこれらに対処する必要がある、あなたはかなり長いより文字列としてそれらを記録し検討するかもしれません任意の大きな整数や浮動小数点数で演算を行うことができる "ビッグナンバー"ライブラリです。

関連する問題