BSONは、JSONデータのバイナリ ストレージ形式です。BSONの仕様については、http://bsonspec.org/を参照してください。BSONは、JSONテキスト データの全体的な構造を保持しますが、データ型、可変長、および入れ子情報はエンコードされます。ストレージに関しては、軽量に設計されているので、テキスト ベースのJSONと比較してオーバーヘッドがほとんど追加されません。トラバースが簡単で、BSONからの変換やBSONへの変換に必要な時間が短縮されます。
JSONの標準的なデータ型は次のとおりです。
- オブジェクト
- 配列
- 文字列
- 数値
- NULL
- ブール値
BSONには、以下を含むその他の複数のデータ型があります。
- バイナリ データ
- 浮動小数点
- 日付
- タイムスタンプ
次の場合は、BSONストレージ形式を使用する必要があります。
- MongoDBを使用してデータを交換する場合
- 文書の一部の取得が挿入にかかる時間より重要な場合
- 格納の小型化が取得速度ほど重要でない場合
BSONは、UTF-8文字セットに文字列をエンコードします。BSONデータの文字セットをテキストとしてインポートまたはエクスポートする場合は、UNICODEが使用されます。
数値型は、常にリトル エンディアン形式でシリアル化されます。BSON形式でデータベースにデータをインポートしたり、データベースからデータをエクスポートする場合(コンストラクタ/インスタンス メソッドまたはキャスト式を使用)は、この形式にすることが想定されます。