Overview
このガイドでは、 BSONドキュメントの作成方法、ファイルからのBSONの読み取り方法、 Node.jsドライバーを使用したファイルへのBSONの書き込み方法を学習できます。
BSON (Binary JSON)は、 MongoDB がデータを整理して保存するために使用するデータ形式です。BSONパッケージをインポートすることで、 JavaScriptアプリケーションでBSONドキュメントを使用できます。
このガイドのコード サンプルでは、次の BSON ドキュメントを例として使用します。
{ "address" : { "street" : "Pizza St", "zipcode" : "10003" }, "coord" : [-73.982419, 41.579505], "cuisine" : "Pizza", "name" : "Mongo's Pizza" }
注意
Node.jsドライバーのBSONパッケージを使用
他のBSONパッケージとの互換性の問題を回避するために、ドライバーにバンドルされているBSONパッケージを使用することをお勧めします。次のインポート ステートメントを使用して、 Node.jsドライバーのBSONパッケージをインポートできます。
import { BSON } from 'mongodb';
BSONデータ型
BSON はすべてのJSONデータ構造タイプをサポートし、日付、異なるサイズの整数、ObjectId
、バイナリ データなどのタイプのサポートを追加します。サポートされているタイプの完全なリストについては、 MongoDB Serverマニュアルの BSON types ページを参照してください。
汎用一意 ID(UUID)
Node.jsドライバーは、 BSONバイナリ サブクラス UUID
を使用して UUID をサポートします。UUID()
コンストラクターを使用して UUID
オブジェクトを作成できます。次のコード例では、ランダムな UUID を生成します。
import { UUID } from 'mongodb'; const myUuid = new UUID();
BSON ドキュメントの作成
JavaScriptでオブジェクトを作成するのと同じ表記を使用して、 BSONドキュメントを作成できます。Node.jsドライバーは、 JavaScriptオブジェクトをコレクションに挿入するときにBSONドキュメントに自動的に変換します。
次の例では、前述のサンプルBSONドキュメントを表すBSONドキュメントを作成します。
const document = { "address": { "street": "Pizza St", "zipcode": "10003", }, "coord": [-73.982419, 41.579505], "cuisine": "Pizza", "name": "Mongo's Pizza", }
BSON ドキュメントの変更
BSONドキュメントの内容は、 JavaScriptのオブジェクトを変更するのに使用するのと同じ表記を使用して変更できます。次の例では、前のBSONドキュメントに 3 つの変更を加えます。
値
12345
を持つ新しいフィールドrestaurant_id
を追加します。cuisine
フィールドを削除します。name
フィールドの値を"Mongo's Pizza Place"
に設定します。
document.restaurant_id = "12345"; delete document.cuisine; document.name = "Mongo's Pizza Place";
BSON をファイルに書き込む
BSONデータをファイルに書き込むには、ファイルシステム モジュールをインポートし、出力ファイルを開きます。次に、各ドキュメントを出力ファイルに書き込みます。BSON.serialize()
メソッドを使用して、ドキュメントがBSON形式でエンコードされていることを確認します。
次の例では、サンプルBSONドキュメントをfile.bson
に書き込みます。
import fs from 'fs/promises'; // Import the file system module import { BSON } from 'mongodb'; // Import the BSON package // Create a BSON object const bsonData = BSON.serialize(result); // Write the BSON data to a file await fs.writeFile('file.bson', bsonData); console.log('BSON data written to file.bson');
ファイルからの BSON を読み込む
ファイルからBSONドキュメントを読み取るには、読み取りモードでファイルを開きます。次に、BSON.deserialize()
メソッドを使用して、読み取るときにBSON形式からドキュメントをデコードします。
次の例では、 file.bson
からサンプルBSONドキュメントを読み取ります。
import fs from 'fs/promises'; // Import the file system module import { BSON } from 'mongodb'; // Import the BSON package // Read the BSON data from a file const data = await fs.readFile('file.bson'); const document = BSON.deserialize(data); console.log(document);
{ _id: new ObjectId('67e1823d0d63bfdf87e8928e'), address: { street: 'Pizza St', zipcode: '10003' }, coord: [ -73.982419, 41.579505 ], cuisine: 'Pizza', name: "Mongo's Pizza" }
API ドキュメント
このガイドで説明したメソッドや型の詳細については、次の API ドキュメントを参照してください。