MySQL Shell 8.4  /  ...  /  BSON 資料類型表示法的轉換

11.2.4 BSON 資料類型表示法的轉換

當您指定 convertBsonTypes: true (--convertBsonTypes) 選項,以轉換以 JSON 擴充功能表示的 BSON 資料類型時,預設會以下列方式匯入 BSON 類型:

日期 (date)

包含欄位值的簡單值。

時間戳記 (timestamp)

使用 time_t 值建立的 MySQL 時間戳記。

十進位 (decimal)

包含十進位值字串表示法的簡單值。

整數 (intlong)

整數值。

規則運算式 (regex 加選項)

僅包含規則運算式的字串,並忽略選項。如果存在選項,則會列印警告。

二進位資料 (binData)

Base64 字串。

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)

在字串中包含與規則運算式相關聯的選項,以及規則運算式本身 (格式為 /<規則運算式>/<選項>)。預設會忽略選項 (ignoreRegexOptions: true),但如果存在任何選項,則會列印警告。必須將 ignoreRegex 設定為預設值 false,才能指定 ignoreRegexOptions

ignoreBinary: true (--ignoreBinary)

停用 BSON binData 類型的轉換。資料會完全依照輸入檔案中的格式匯入為內嵌 JSON 文件。

下列範例會將檔案 /europe/regions.json 中的文件匯入到資料庫 mydb 中名為 regions 的關係表格的 jsondata 欄位。以 JSON 擴充功能表示的 BSON 資料類型會轉換為 MySQL 表示法,但規則運算式除外,規則運算式會匯入為內嵌 JSON 文件

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