MongomapperでIntegerの数を見つけることができませんでした。 MongoDBの 'Big Integer'をLongIntに自動的に変換することができますか?Mongomapperでの整数のサイズ
1
A
答えて
1
bsonライブラリはあなた/ mongomapperのためにこれを処理します。シリアル化しようとしているものがbignum/fixnumであれば、4バイトまたは8バイトの整数に収まるかどうかをチェックし、それに対応してエンコードします。 Fixnumの制限がmongoが持つ4バイト/バイトの境界と一致しないため、実際に値をチェックします。
ドライバの対応するビットが符号付き64ビット整数の範囲に収まらない整数を拒否コードのビットhere
0
整数のデータ型は、選択したMongoのインストールによって異なります。 32ビットを選択した場合、整数は最大32ビットとなり、約20億になります。 64ビットのインストールを選択することをお勧めします。
0
MongoDBはそのデータをBSON形式(バイナリJSON)で保存します。 The specification for BSONは、32ビットと64ビットの両方の整数をサポートします。
ここでの鍵はRubyのドライバと設定です。
関連する問題
ないですか?自動変換コードは表示されません。 –
正しい - bsonはそのような整数を表すことはできません。そのコードが行うことは、32ビット整数に収まるものがbsonの4バイト型を使用して格納され、8バイトに収まるものがbsonの8バイト型に格納されることを保証することです。あなたがその範囲外にいるなら、あなたは運がない。 –
ああ、あなたの所有者を私のところで誤解した;) –