Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Docs Menu
Docs Home
/ / /
Node.js ドライバー
/

BSONデータとの連携

このガイドでは、 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 はすべてのJSONデータ構造タイプをサポートし、日付、異なるサイズの整数、ObjectId、バイナリ データなどのタイプのサポートを追加します。サポートされているタイプの完全なリストについては、 MongoDB Serverマニュアルの BSON types ページを参照してください。

Node.jsドライバーは、 BSONバイナリ サブクラス UUID を使用して UUID をサポートします。UUID() コンストラクターを使用して UUIDオブジェクトを作成できます。次のコード例では、ランダムな UUID を生成します。

import { UUID } from 'mongodb';
const myUuid = new UUID();

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ドキュメントの内容は、 JavaScriptのオブジェクトを変更するのに使用するのと同じ表記を使用して変更できます。次の例では、前のBSONドキュメントに 3 つの変更を加えます。

  1. 12345 を持つ新しいフィールド restaurant_id を追加します。

  2. cuisineフィールドを削除します。

  3. name フィールドの値を "Mongo's Pizza Place" に設定します。

document.restaurant_id = "12345";
delete document.cuisine;
document.name = "Mongo's Pizza Place";

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.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 ドキュメントを参照してください。

戻る

Data Formats

項目一覧