當您指定 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