postgres jsonb_set mise à jour de plusieurs clés
J'ai de la table DB avec jsonb colonne.
number | data
1 | {"name": "firstName", "city": "toronto", "province": "ON"}
J'ai besoin d'un moyen de mettre à jour les données de la colonne.
Donc ma sortie devrait ressembler à:
{"name": "firstName", "city": "ottawa", "province": "ON", "phone": "phonenum", "prefix": "prefixedName"}
Est-il possible avec json_set?
J'ai ajouté de la requête comme:
update table_name set data = jsonb_set(data, '{city}', '"ottawa"') where number = 1;
Cependant, j'ai besoin d'un moyen d'ajouter une nouvelle clé-valeur si elle n'existe pas et la clé de mise à jour de la valeur si elle existe. Est-il possible de réaliser cela dans une seule requête?
source d'informationauteur phpfreak
Vous devez vous connecter pour publier un commentaire.
La la documentation dit:
Donc l'utilisation de vos données, par exemple:
En outre, si l'objet que vous souhaitez modifier n'est pas au plus haut niveau il vous suffit de combiner la concaténation et
jsonb_set
fonction. Par exemple, si les données d'origine ressemble àpuis
Vous pouvez essayer ce
Nous voici à l'aide de
jsonb
concatation opérateur||
pour Concaténer deux jsonb objets