我需要更换值的具体键内jsonb目的在Postgresql:
create table content (
id int,
dynamic_fields jsonb
);
insert into content values (0, '{
"key1": "aaaaa text1",
"key2": "text1",
"key3": "blabla"}'::jsonb);
UPDATE content
SET dynamic_fields = replace(dynamic_fields::text, 'text1', 'text2')::jsonb;
这个代码在这里给出了以下结果:
id | dynamic_fields
0 | {"key1": "aaaaa text2", "key2": "text2", "key3": "blabla"}
而不是替换所有的次出现的"文本1",我想仅仅替代文本的内部价值"键1":如何这样做?
其结果的更新应该是这样的:
id | dynamic_fields
0 | {"key1": "aaaaa text1", "key2": "text2", "key3": "blabla"}
更新的期望的结果,这是不够明确。