使用 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