MySQL Shell 8.0  /  ...  /  BSON データ型の表現の変換

このページは機械翻訳したものです。

8.2.3 BSON データ型の表現の変換

convertBsonTypes: true (--convertBsonTypes) オプションを指定して JSON 拡張で表される BSON データ型を変換すると、デフォルトで BSON 型は次のようにインポートされます:

日付 (date)

フィールドの値を含む単純な値。

タイムスタンプ (timestamp)

time_t 値を使用して作成された MySQL タイムスタンプ。

小数 (decimal)

小数値の文字列表現を含む単純な値。

Integer (int または long)

整数値。

正規表現 (regex とオプション)

正規表現のみを含み、オプションを無視する文字列。 オプションが存在する場合は、警告が出力されます。

バイナリデータ (binData)

Base64 string.

ObjectID (objectId)

フィールドの値を含む単純な値。

次の制御オプションを指定して、これらの BSON タイプのマッピングおよび変換を調整できます。次のいずれかの制御オプションを使用するには、convertBsonTypes: true (--convertBsonTypes) を指定する必要があります:

ignoreDate: true (--ignoreDate)

BSON date タイプの変換を無効にします。 データは、入力ファイルとまったく同じように埋込み JSON ドキュメントとしてインポートされます。

ignoreTimestamp: true (--ignoreTimestamp)

BSON timestamp タイプの変換を無効にします。 データは、入力ファイルとまったく同じように埋込み JSON ドキュメントとしてインポートされます。

decimalAsDouble: true (--decimalAsDouble)

BSON decimal タイプの値を文字列ではなく MySQL DOUBLE タイプに変換します。

ignoreRegex: true (--ignoreRegex)

正規表現 (BSON regex タイプ) の変換を無効にします。 データは、入力ファイルとまったく同じように埋込み JSON ドキュメントとしてインポートされます。

ignoreRegexOptions: false (--ignoreRegexOptions=false)

正規表現に関連付けられたオプションを文字列に含め、正規表現自体も含めます (/<regular expression>/<options>の形式)。 デフォルトでは、オプションは無視されます (ignoreRegexOptions: true) が、オプションが存在する場合は警告が出力されます。ignoreRegexOptions を指定するには、ignoreRegexfalse のデフォルトに設定する必要があります。

ignoreBinary: true (--ignoreBinary)

BSON binData タイプの変換を無効にします。 データは、入力ファイルとまったく同じように埋込み JSON ドキュメントとしてインポートされます。

次の例では、ファイル/europe/regions.json から mydb データベースの regions というリレーショナルテーブルの jsondata カラムにドキュメントをインポートします。 JSON 拡張によって表される BSON データ型は、埋込み JSON ドキュメントとしてインポートされる正規表現を除き、MySQL 表現に変換されます:

mysqlsh user@localhost/mydb --import /europe/regions.json regions jsondata --convertBsonTypes --ignoreRegex