暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

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

由迪 2024-04-15
54

当您指定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)

    包括与字符串中的正则表达式关联的选项以及正则表达式本身(格式为/<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
复制
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论