Postgres JSONB对象的映射到简单值映射
我需要将JSONB(Flyway Migration)列迁移到
{
"property1":
{
"type": "A",
"value": "value1"
},
"property2":
{
"type": "B",
"value" "value2"
}
}
简化
{
"property1": "value1",
"property2": "value2"
}
到目前为止,
update sms_notification n
set param2 = jsonb_object(
array(select jsonb_object_keys(n.params)),
'dummyValue'
)
,我已经生产了
{
"property1": "dummyValue",
"property2": "dummyValue"
,但是我不知道如何从property1/property2对象中提取值(value1/value2)。
I need to migrate jsonb (Flyway migration) column from
{
"property1":
{
"type": "A",
"value": "value1"
},
"property2":
{
"type": "B",
"value" "value2"
}
}
into simplified
{
"property1": "value1",
"property2": "value2"
}
So far, I have
update sms_notification n
set param2 = jsonb_object(
array(select jsonb_object_keys(n.params)),
'dummyValue'
)
producing
{
"property1": "dummyValue",
"property2": "dummyValue"
But I can't figure out how to extract the values (value1/value2) from the property1/property2 object.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您需要使用
jsonb_each()()
将所有密钥解开,然后将密钥/值汇总回单个对象:you need to unnest all keys using
jsonb_each()
then aggregate the key/values back into a single object: