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