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 导入实用工具,请按如下方式指定参数

用户

用于运行 JSON 导入实用工具的用户帐户的用户名。

主机

MySQL 服务器的主机名。

端口

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

mydb

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

路径

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

选项

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

--convertBsonTypes 选项转换使用 JSON 格式扩展表示的 BSON 数据类型。还可以为特定的 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