【问题标题】:Is there a way to enrich JSON field in MySQL?有没有办法丰富 MySQL 中的 JSON 字段?
【发布时间】:2019-07-25 21:59:03
【问题描述】:

让我们采用一个包含两个表的简单模式,一个描述一个简单实体 item (id, name)

id  |   name
------------
1   |   foo
2   |   bar

还有一个,我们称之为collection,它引用了一个item,但是在一个类似

的JSON对象中
{
    items: [
        {
            id: 1,
            quantity: 2
        }
    ]
}

我正在寻找一种方法来最终在 collection 中使用 item 来丰富这个字段(有点像 Mongo 中的 populate)引用的元素,检索类似的东西

{
    ...
    items: [
        {
            item: {
                id: 1,
                name: foo
            },
            quantity: 2
        }
    ]
    ...
}

如果你有 PostgreSQL 的解决方案,我也会接受。

【问题讨论】:

标签: mysql json


【解决方案1】:

如果我理解正确,您的要求是将输入 JSON 数据转换为 MySQL 表,以便您可以使用 JSON,但可以利用 SQL 的强大功能。

Mysql8 最近发布了JSONTABLE 功能。通过使用此函数,您可以将 JSON 直接存储在表中,然后像任何其他 SQL 查询一样查询它。

它应该适合您的直接情况,但这意味着您的表架构将有一个 JSON 列而不是传统的 MySQL 列。您需要检查它是否符合您的目的。

This 是一个很好的教程。

【讨论】:

  • 这应该给我工具来实现我正在寻找的东西,谢谢!
猜你喜欢
  • 2021-09-30
  • 2015-11-21
  • 1970-01-01
  • 1970-01-01
  • 2021-04-26
  • 2016-11-26
  • 1970-01-01
  • 2021-01-07
  • 2020-12-27
相关资源
最近更新 更多