MySQL Shell 8.4  /  ...  /  使用 Mysqlsh 命令介面匯入 JSON 文件

11.2.2 使用 Mysqlsh 命令介面匯入 JSON 文件

使用 mysqlsh 命令介面,您可如下方式叫用 JSON 匯入工具程式

mysqlsh user@host:port/mydb -- util importJson <path> [options]
or
mysqlsh user@host:port/mydb -- util import-json <path> [options]

如需此語法的相關資訊,請參閱 第 5.8 節,〈API 命令列整合〉。對於 JSON 匯入工具程式,請如下指定參數

user

用於執行 JSON 匯入工具程式的使用者帳戶的使用者名稱。

host

MySQL 伺服器的主機名稱。

port

MySQL Shell 連線至 MySQL 伺服器的連接埠號碼。此連線的預設連接埠為 33060。

mydb

目標資料庫的名稱。從命令列叫用 JSON 匯入工具程式時,您必須指定目標資料庫。您可以在類似 URI 的連線字串中指定,或使用額外的 --schema 命令列選項。

path

包含要匯入 JSON 文件的檔案 (或 FIFO 特殊檔案) 的檔案路徑。

options

--collection--table--tableColumn 選項指定目標集合或目標資料表與資料行。當使用 mysqlsh 命令介面叫用 JSON 匯入工具程式時,關係和預設值與在 MySQL Shell 工作階段中使用對應選項時相同。如果您未指定這些選項,工具程式會預設為使用或建立一個目標集合,其名稱與提供的匯入檔案的名稱相同 (不含副檔名)。

--convertBsonTypes 選項會轉換使用 JSON 格式擴充功能表示的 BSON 資料類型。也可以指定特定 BSON 資料類型的其他控制選項;如需這些控制選項和預設類型轉換的清單,請參閱 第 11.2.4 節,〈BSON 資料類型表示法的轉換〉--convertBsonOid 選項會在您指定 --convertBsonTypes 時自動設定為開啟。從 MongoDB 匯入資料時,如果您不轉換 BSON 類型,則必須指定 --convertBsonOid,因為 MySQL 伺服器要求將 _id 值轉換為 varbinary(32) 類型。--extractOidTime=field_name 可用於將時間戳記從 _id 值擷取到個別欄位中。

以下範例將 products.json 檔案中的 JSON 文件匯入至 mydb 資料庫中的 products 集合

mysqlsh user@localhost/mydb -- util importJson products.json --collection=products