[英]How to update JSONB array in postgres
我有一個具有以下定義的表:
CREATE TABLE USER_CONFIGURATIONS (
ID BIGSERIAL PRIMARY KEY,
DATA JSONB
);
我有一個看起來像這樣的數據字段:
[
{
"user_id": 1,
"user_name": "demo_user",
"is_manager": 1,
"options": [
{
"phone":{
"home":"XXXXXXX",
"work":"XXXXXXX"
},
"address":{
"home":"XXXXXXX",
"work":"XXXXXXX"
}
}
]
},
...
]
問題:
如何更新“選項->電話->家庭”?
更新USER_CONFIGURATIONS SET DATA = jsonb_set(...)WHERE ... user_id = 1;
postgres 9.6版本。 我嘗試了jsonb_set()但沒有發現
https://www.db-fiddle.com/f/4ZYZiuJr4QgfNkzyTCeT1X/1
只需運行兩次:
update USER_CONFIGURATIONS
set data =
jsonb_set(
jsonb_set(
data,'{0,"user_name"}','"blah"'
), '{0,"options",0,"phone","home"}','999999'
)
where id =1
;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.