使用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
。 使用mysqlsh--tableColumn
命令接口调用 JSON 导入实用程序时的关系和默认值与在 MySQL Shell 会话中使用相应选项时相同。如果您未指定这些选项中的任何一个,该实用程序将默认使用或创建具有提供的导入文件名称(不带文件扩展名)的目标集合。该
--convertBsonTypes
选项将使用扩展表示的 BSON 数据类型转换为 JSON 格式。还可以指定特定 BSON 数据类型的附加控制选项;有关这些控制选项和默认类型转换的列表,请参阅 第 11.2.4 节,“BSON 数据类型表示的转换”。当您指定 时,该--convertBsonOid
选项会自动设置为 on--convertBsonTypes
。从MongoDB导入数据时,--convertBsonOid
如果不转换BSON类型必须指定,因为MySQL Server要求将_id
值转换为varbinary(32)
类型。 可用于将值中的时间戳提取 到单独的字段中。--extractOidTime=
field_name
_id
以下示例将文件中的 JSON 文档导入
数据库products.json
中的
products
集合
mydb
:
mysqlsh user@localhost/mydb -- util importJson products.json --collection=products