### 11.2.4 JSON数据类型表示的转换

2024年 4月 15日 33.7k 0

当您指定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 ”类型 的值转换为 MySQLDOUBLE类型,而不是字符串。

  • 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

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论