EJSON.deserialize()
EJSON.deserialize()
メソッドは、拡張 JSON オブジェクトを BSON オブジェクトに変換します。
構文
このメソッドの構文は次のとおりです。
EJSON.deserialize( object, [ options ] )
メソッド フィールド
メソッドは次のフィールドを取ります。
フィールド | タイプ | 必要性 | 説明 | ||||||
---|---|---|---|---|---|---|---|---|---|
object | EJSON オブジェクト | 必須 | 変換する EJSON オブジェクト。 たとえば、ドキュメントの配列。 | ||||||
options | string | 任意 | 出力オブジェクトの タイプを変更します。 唯一の オプションは
|
動作
EJSON.deserialize()
は、インタラクティブなmongosh
セッションまたは--eval
を使用してシステム コマンドラインから実行できます。
インタラクティブmongosh
セッションからEJSON.deserialize()
を実行するには、次を使用します。
EJSON.deserialize( object, [ options ] )
システムコマンドラインからEJSON.deserialize()
を実行するには、次のコマンドを使用します。
mongosh --eval "EJSON.deserialize( 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") } ] )
次のセクションでは、サンプルファイルを作成し、 EJSON.deserialize()
の例を使用してファイルをインポートする方法を示します。
サンプル ファイルの作成
次の例では、 sales
ドキュメントを配列として検索し、その結果をコンピューターのファイル システム上のsalesDeserialize.json
という名前のファイルに保存します。
let salesCollection = EJSON.stringify( db.sales.find().toArray() ) fs.writeFileSync( 'salesDeserialize.json', salesCollection )
コマンドラインからサンプルファイルをインポート
salesDeserialize.json
ファイルをインポートし、 という名前の新しいコレクションを作成するには、salesFromDeserializeFile
mongosh
を終了し、コマンドラインから次の例を実行します。
Note: The example is formatted to fit the page. mongosh --quiet --eval "db.salesFromDeserializeFile.insertMany( \ EJSON.deserialize( JSON.parse ( \ fs.readFileSync( 'salesDeserialize.json', 'utf8' ) ) ) )"
この例では、次のことが行われます。
fs.readFileSync()
はsalesDeserialize.json
ファイルを読み取り、内容をutf8
Unicode 文字列として解釈します。JSON.parse()
は、ファイルから読み取られた string を JSON に変換します。EJSON.deserialize()
outputs JSON.db.salesFromDeserializeFile.insertMany()
は、EJSON.deserialize()
によって返された JSON を使用してsalesFromDeserializeFile
コレクションを作成し、データを入力します。
注意
前の例ではEJSON.parse()
を使用できています。これはより簡単なアプローチです。 JSON.parse()
とEJSON.deserialize()
は柔軟性を高めます。
詳細
EJSON ドキュメント