有如下 json
{
"x001":{
"t":"xxx"
// ...
},
"x002":{
"t":"xxx"
// ...
}
// x003 ...
}
现在想以最外层的 key 作为条件(即 x001 这一层)批量给对应的 key 加上一个 tag 属性,这样
"x001":{
"t": "xxx",
// ...
"tag":1
}
然后我发现我不知道怎么写这个 SQL,于是我换了一种实现,初始数据全部给上 tag 属性,然后以 key 作为条件,批量删除对应 key 的 tag 属性,SQL 如下:
SELECT ('{"x001":{"t": "xxx","tag":1},"x002":{"t": "xxx","tag":1},"x003":{"t": "xxx","tag":1}}'::jsonb #- '{x001,tag}')::jsonb #- '{x002,tag}'
这样写的话,如果一次要操作很多 key 的话,会嵌套很多层
大佬们