J'ai besoin de remplacer les valeurs de touches spécifiques à l'intérieur d'un jsonb objet dans 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;
Ce code jusqu'ici, donne le résultat suivant:
id | dynamic_fields
0 | {"key1": "aaaaa text2", "key2": "text2", "key3": "blabla"}
Au lieu de remplacer toutes les occurrences de "texte1", je voudrais remplacer seulement que le texte à l'intérieur de la valeur de "key1": comment dois-je faire?
Le résultat de la mise à jour doit être quelque chose comme:
id | dynamic_fields
0 | {"key1": "aaaaa text1", "key2": "text2", "key3": "blabla"}
Mis à JOUR le résultat souhaité, il n'était pas assez claire.