MySQL Shell 9.0  /  ...  /  使用 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 导入实用程序,请按如下方式指定参数

用户

用于运行 JSON 导入实用程序的用户帐户的用户名。

主机

MySQL 服务器的主机名。

端口

MySQL Shell 连接到 MySQL 服务器的端口号。此连接的默认端口为 33060。

mydb

目标数据库的名称。从命令行调用 JSON 导入实用程序时,必须指定目标数据库。您可以在类似 URI 的连接字符串中指定它,也可以使用额外的 --schema 命令行选项指定它。

路径

包含要导入的 JSON 文档的文件(或 FIFO 特殊文件)的文件路径。

选项

--collection--table--tableColumn 选项指定目标集合或目标表和列。使用 mysqlsh 命令行界面调用 JSON 导入实用程序时,关系和默认值与在 MySQL Shell 会话中使用相应选项时的关系和默认值相同。如果您没有指定这些选项中的任何一个,则实用程序默认使用或创建名称为提供的导入文件(不带文件扩展名)的目标集合。

--convertBsonTypes 选项将使用扩展名表示的 BSON 数据类型转换为 JSON 格式。还可以为特定的 BSON 数据类型指定其他控制选项;有关这些控制选项和默认类型转换的列表,请参阅第 11.2.4 节,“BSON 数据类型表示形式的转换”。指定 --convertBsonTypes 时,会自动设置 --convertBsonOid 选项。从 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