AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。

EJSON.serialize()

EJSON.serialize()メソッドは、BSON オブジェクトを JavaScript オブジェクトとして拡張 JSON 表現に変換します。

MongoDB は BSON を使用してデータを保存します。 の多くの外部データ変換アプリケーションは JSON を使用します。 EJSON.serialize()を使用して BSON を JSON に変換し、それらの外部アプリケーションの出力を保存できます。

このメソッドの構文は次のとおりです。

EJSON.serialize( object, [ options ] )

メソッドは次のフィールドを取ります。

フィールド
タイプ
必要性
説明

object

BSON オブジェクト

必須

変換する BSON オブジェクト。 たとえば、ドキュメントの配列。

options

string

任意

出力オブジェクトタイプを変更します。 唯一の オプションは{ relaxed: <boolean> }です。

  • true: JSON Realm オブジェクトタイプを返します。デフォルトは、true に設定されています。

  • false: BSON Realm オブジェクトタイプを返します。

EJSON.serialize()は、インタラクティブなmongoshセッションまたは--evalを使用してシステム コマンドラインから実行できます。

インタラクティブmongoshセッションからEJSON.serialize()を実行するには、次を使用します。

EJSON.serialize( object, [ options ] )

システムコマンドラインからEJSON.serialize()を実行するには、次のコマンドを使用します。

mongosh --eval "EJSON.serialize( object, [ options ] )"

例のsalesコレクションを作成します。

db.sales.insertMany( [ { custId: 345, purchaseDate: ISODate("2023-07-04"), quantity: 4, cost: Decimal128("100.60") }, { custId: 346, purchaseDate: ISODate("2023-07-12"), quantity: 3, cost: Decimal128("175.45") }, { custId: 486, purchaseDate: ISODate("2023-08-01"), quantity: 9, cost: Decimal128("200.53") }] )

次の例では、 salesドキュメントを配列として検索し、その結果をsalesCollectionオブジェクトに保存します。

salesCollection = EJSON.serialize( db.sales.find().toArray() )

JSON を使用する出力例は以下のとおりです。

[ { _id: { '$oid': '6520519a0dbd2d208a5c7941' }, custId: 345, purchaseDate: { '$date': '2023-07-04T00:00:00Z' }, quantity: 4, cost: { '$numberDecimal': '100.60' } }, { _id: { '$oid': '6520519a0dbd2d208a5c7942' }, custId: 346, purchaseDate: { '$date': '2023-07-12T00:00:00Z' }, quantity: 3, cost: { '$numberDecimal': '175.45' } }, { _id: { '$oid': '6520519a0dbd2d208a5c7943' }, custId: 486, purchaseDate: { '$date': '2023-08-01T00:00:00Z' }, quantity: 9, cost: { '$numberDecimal': '200.53' } }]

コレクション データをファイルに保存するには、 mongosh --evalメソッドでEJSON.serialize()を使用できます。

次の例では、 salesドキュメントを配列として検索し、その結果をコンピューターのファイル システム上のsales.jsonという名前のファイルに保存します。

# Note: The example is formatted to fit the page. mongosh --quiet \ --eval "EJSON.serialize( db.sales.find().toArray() )" \ > sales.json

その後に、 sales.jsonファイルを外部のデータ変換アプリケーションで使用できるようになります。