当您指定convertBsonTypes: true
( --convertBsonTypes
) 选项来转换由 JSON 扩展表示的 BSON 数据类型时,默认情况下,将按如下方式导入 BSON 类型:
-
日期(“日期”)
包含字段值的简单值。
-
时间戳(“时间戳”)
使用该值创建的 MySQL 时间戳
time_t
。 -
小数(“小数”)
包含十进制值的字符串表示形式的简单值。
-
整数(“ int ”或“ long ”)
整数值。
-
正则表达式(“ regex ”加上选项)
仅包含正则表达式的字符串,并忽略选项。如果存在选项,则会打印警告。
-
二进制数据(“ binData ”)
Base64 字符串。
-
对象ID(“对象ID ”)
包含字段值的简单值。
可以指定以下控制选项来调整这些 BSON 类型的映射和转换。 必须指定convertBsonTypes: true
( --convertBsonTypes
) 才能使用以下任何控制选项:
-
ignoreDate: true
(--ignoreDate
)禁用 BSON “日期”类型的转换。数据作为嵌入式 JSON 文档导入,与输入文件中的数据完全相同。
-
ignoreTimestamp: true
(--ignoreTimestamp
)禁用 BSON “时间戳” 类型的转换。数据作为嵌入式 JSON 文档导入,与输入文件中的数据完全相同。
-
decimalAsDouble: true
(--decimalAsDouble
)将 BSON “ decimal ”类型 的值转换为 MySQL
DOUBLE
类型,而不是字符串。 -
ignoreRegex: true
(--ignoreRegex
)禁用正则表达式(BSON “ regex ”类型)的转换。数据作为嵌入式 JSON 文档导入,与输入文件中的数据完全相同。
-
ignoreRegexOptions: false
(--ignoreRegexOptions=false
)包括与字符串中的正则表达式关联的选项以及正则表达式本身(格式为
//
)。默认情况下,选项将被忽略 (ignoreRegexOptions: true
),但如果存在任何选项,则会打印警告。ignoreRegex
必须设置为默认值才能false
指定ignoreRegexOptions
。 -
ignoreBinary: true
(--ignoreBinary
)禁用 BSON “ binData ” 类型的转换。数据作为嵌入式 JSON 文档导入,与输入文件中的数据完全相同。
以下示例将文档从文件导入 到数据库中指定的关系表中的 /europe/regions.json
列 。由 JSON 扩展表示的 BSON 数据类型将转换为 MySQL 表示形式,但正则表达式除外,它们作为嵌入式 JSON 文档导入: jsondata``regions``mydb
mysqlsh user@localhost/mydb --import /europe/regions.json regions jsondata --convertBsonTypes --ignoreRegex