Anhängen (pushen) und Entfernen aus einem JSON-Array in PostgreSQL 9.5+

8

Für Versionen unter 9.5 sehen Sie diese Frage

Ich habe eine Tabelle in PostgreSQL mit diesem erstellt:

%Vor%

Nun, was ich wollte, war

  • add Etwas wie append_to_json_array nimmt die tatsächliche jsondata auf, die ein json-array ist, und die newString, die ich zu diesem jsondata-Array hinzufügen muss aktualisiertes json-array.

    %Vor%
  • Entfernt einen Wert aus dem json-Datenarray, eine Funktion zum Entfernen des Werts.

Ich habe versucht, die Dokumentation von PostgreSQL zu durchsuchen, habe aber dort nichts gefunden.

    
Evan Carroll 14.02.2017, 18:23
quelle

2 Antworten

12

Um den Wert hinzuzufügen, verwenden Sie das JSON-Array append opperator ( || )

%Vor%

Das Entfernen des Wertes sieht so aus

%Vor%

Die Verkettung mit einem verschachtelten Feld sieht folgendermaßen aus:

%Vor%     
Evan Carroll 14.02.2017, 18:23
quelle
0

Um zu Evan Carrolls Antwort hinzuzufügen, möchten Sie möglicherweise die folgenden Schritte ausführen, um die Spalte auf ein leeres Array zu setzen, wenn es NULL ist. Der Append-Operator ( || ) führt nichts aus, wenn die Spalte aktuell NULL ist.

%Vor%     
Matt Reyer 02.05.2017 21:41
quelle