當您指定 convertBsonTypes: true (--convertBsonTypes) 選項,以轉換以 JSON 擴充功能表示的 BSON 資料類型時,預設會以下列方式匯入 BSON 類型:
- 日期 (“date”)
包含欄位值的簡單值。
- 時間戳記 (“timestamp”)
使用
time_t值建立的 MySQL 時間戳記。- 十進位 (“decimal”)
包含十進位值字串表示法的簡單值。
- 整數 (“int” 或 “long”)
整數值。
- 規則運算式 (“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