PostgresSQL 嵌套 jsonb 更新复杂键/值对的值

问题描述

从 JSONB 数据类型开始,我希望有人可以帮助我。

我有一个包含两列(id 作为主键,data 作为 jsonb)的表(属性)。 数据结构是:

    {
        "ProductType": "ABC","ProductName": "XYZ","attributes": [
            {
            "name": "Color","type": "STRING","value": "Silver"
            },{
            "name": "Case","value": "Shells"
            },...
        ]
    }

我想通过名称为具有给定id的行更新特定属性元素的强>。例如,对于带有 "name"="Case" 的元素,将值更改为 "Glass"。所以结果就像

    {
        "ProductType": "ABC","value": "Glass"
            },...
        ]
    }

这个结构是否可以使用 sql

如果你们中的任何人想试一试,我已经创建了表结构。 dbfiddle

解决方法

使用 jsonb 连接运算符 analyzeMode 来动态替换键:

||

Updated fiddle

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...