Vereinfachte Syntax für jsonb in PostgreSQL 14

Laut dem Telegrammkanal Cross the Join fiel das Repository Postgres Komichi , einfacher mit jsonb zu arbeiten. Sie können jetzt mit eckigen Klammern auf Teile von jsonb zugreifen. Dies funktioniert sowohl beim Lesen als auch beim Schreiben.







Auf Wiedersehen jsonb_set und andere Krücken mögen data = data - 'a' || '{"a":5}'









Einige Beispiele:



Wir aktualisieren den Wert des Objekts per Schlüssel. 25 ist hier eine Zahl, aber in Anführungszeichen eingeschlossen, da der zugewiesene Wert jsonb sein muss







-- (person_data   jsonb)
UPDATE users 
SET person_data['age'] = '25'; 
      
      





Das Update funktioniert auch mit leerem (null) jsonb.







Wir filtern die Tabelle nach dem Feld name = Pasha. Pascha ist eine Zeichenfolge, aber auch in der jsonb-Form geschrieben: "Pascha", also zusätzliche doppelte Anführungszeichen







SELECT * 
FROM users 
WHERE person_data['name'] = '"Pasha"';
      
      





Ermitteln Sie den Wert des Objekts anhand des Schlüssels "Alter".







SELECT ('{"age": 25}'::jsonb)['age'];
      
      





Oder Sie können einen langen Pfad angeben







SELECT ('{"a": {"b": {"c": 1}}}'::jsonb)['a']['b']['c'];
      
      





Array-Element nach Index







SELECT ('[1, "2", null]'::jsonb)[1];
      
      





Am wichtigsten ist, dass die Änderungen in postgreSQL 14 enthalten sind!







Die ursprüngliche Idee der Syntax gehört Oleg Bartunov, Implementierung - Dmitry Dolgov








All Articles