当您指定convertBsonTypes: true
( --convertBsonTypes
) 选项转换由 JSON 扩展表示的 BSON 数据类型时,默认情况下,BSON 类型被导入如下:
- 日期(“日期”)
包含字段值的简单值。
- 时间戳(“时间戳”)
time_t
使用该值 创建的 MySQL 时间戳 。- 十进制(“十进制”)
包含十进制值的字符串表示形式的简单值。
- 整数(“ 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 “十进制”类型的值转换为 MySQL
DOUBLE
类型,而不是字符串。-
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 文档导入:
jsondata
regions
mydb
mysqlsh user@localhost/mydb --import /europe/regions.json regions jsondata --convertBsonTypes --ignoreRegex