Documentation Home
MySQL 外壳 8.0  / 第 11 章 MySQL Shell 实用程序  / 11.2 JSON 导入实用程序  /  11.2.4 BSON 数据类型表示的转换

11.2.4 BSON 数据类型表示的转换

当您指定convertBsonTypes: true ( --convertBsonTypes) 选项转换由 JSON 扩展表示的 BSON 数据类型时,默认情况下,BSON 类型被导入如下:

日期(日期

包含字段值的简单值。

时间戳(时间戳

time_t使用该值 创建的 MySQL 时间戳 。

十进制(十进制

包含十进制值的字符串表示形式的简单值。

整数(intlong

整数值。

正则表达式(regex加选项)

仅包含正则表达式并忽略选项的字符串。如果存在选项,则会打印一条警告。

二进制数据(binData

Base64 字符串。

对象ID(对象ID ”

包含字段值的简单值。

可以指定以下控制选项来调整这些 BSON 类型的映射和转换。 convertBsonTypes: true ( --convertBsonTypes) 必须指定才能使用以下任何控制选项:

ignoreDate: true ( --ignoreDate)

禁用 BSON 日期类型的转换。数据作为嵌入式 JSON 文档导入,与输入文件中的完全一样。

ignoreTimestamp: true ( --ignoreTimestamp)

禁用 BSON 时间戳 类型的转换。数据作为嵌入式 JSON 文档导入,与输入文件中的完全一样。

decimalAsDouble: true ( --decimalAsDouble)

将 BSON 十进制类型的值转换为 MySQLDOUBLE类型,而不是字符串。

ignoreRegex: true ( --ignoreRegex)

禁用正则表达式的转换(BSON regex类型)。数据作为嵌入式 JSON 文档导入,与输入文件中的完全一样。

ignoreRegexOptions: false ( --ignoreRegexOptions=false)

在字符串中包括与正则表达式关联的选项,以及正则表达式本身(格式为/<regular expression>/<options>)。默认情况下,选项将被忽略 ( ignoreRegexOptions: true),但如果存在任何选项,则会打印一条警告。ignoreRegex必须设置为默认值false以指定 ignoreRegexOptions.

ignoreBinary: true ( --ignoreBinary)

禁用 BSON binData 类型的转换。数据作为嵌入式 JSON 文档导入,与输入文件中的完全一样。

以下示例将文档从文件导入 到 数据库中命名的关系表 中/europe/regions.json的列 。由 JSON 扩展表示的 BSON 数据类型被转换为 MySQL 表示,正则表达式除外,它们作为嵌入式 JSON 文档导入: jsondataregionsmydb

mysqlsh user@localhost/mydb --import /europe/regions.json regions jsondata --convertBsonTypes --ignoreRegex