Ich habe eine Tabelle Benutzer genannt, und in der Tabelle gibt es ein Feld Freunde genannt, ist dieses Feld ein json Typ Wert wie im folgenden Beispiel haterhalten Array aller json Feldschlüssel in postgresql
{"blockList": {"199": {"date": 1453197190, "status": 1}, "215": {"date": 1459325611, "status": 1}, "219": {"date": 1454244074, "status": 1}, "225": {"date": 1453981312, "status": 1}, "229": {"date": 1459327685, "status": 1}}, "followers": {"211": {"date": 1452503369}, "219": {"date": 1452764627}, "334": {"date": 1456396375}}, "following": {"215": {"date": 1459325619}, "219": {"date": 1453622322}, "226": {"date": 1454244887}, "229": {"date": 1459327691}}, "friendList": {"213": {"date": 1453622410, "type": 2, "status": 1}, "214": {"date": 1452763643, "status": 1}, "215": {"date": 1455606872, "type": 2, "status": 2}, "218": {"date": 1453280047, "status": 1}, "219": {"date": 1453291227, "status": 2}, "221": {"date": 1453622410, "type": 2, "status": 1}, "224": {"date": 1453380152, "type": 2, "status": 1}, "225": {"date": 1453709357, "type": 2, "status": 2}, "226": {"date": 1454244088, "type": 2, "status": 1}, "229": {"date": 1454326745, "type": 2, "status": 2}}}
Dieser Datensatz enthält ein blockList-Objekt, das Objekte für blockierte Benutzer enthält. , was ich brauche, ist ein Array aller Blockliste Tasten wie diese
["199", "215", "219", "225", "229"]
jede Hilfe zurück, wie kann ich eine plpgsql Funktion schreiben, dass (Rückkehr in einem Array alle Objektschlüssel) zu tun? Ich bin ein Anfänger in psotgresql, und brauche bitte eine Hilfe.
ERROR: function json_object_keys (jsonb) nicht LINE 4 existiert: SELECT json_object_keys (Freunde -> 'Blockliste') f ^ TIPP: Spiele Keine Funktion die angegebenen Namen und Argumenttypen. Möglicherweise müssen Sie explizite Typumwandlungen hinzufügen. –
Wenn Sie 'jsonb' verwenden, müssen Sie die Funktion' jsonb_object_keys' verwenden. – Marth
Hoppla, ich habe array_agg vergessen, nette Antwort. – Imran