Ich habe eine TabelleWie man ein JSONB-Array abfragt?
Visitor: (id, .., custom::jsonb[])
custom
ein Array von JSON Objekte des Formulars {field:string, value:string}
ist. Beispiel:
{"field": "apps_created", "value": "3"}
sagen, ich will alle oder mehrere der Visitors
mit 3 finden apps_created
, wie würde ich über diese gehen? Hinweis: Jeder Visitor
kann verschiedene Felder haben und oft gibt es keine Überschneidung mit anderen Besuchern.
Ich habe versucht, die postgres Dokumentation oder andere stackoverflow Fragen zu konsultieren, aber ich habe eine harte Zeit herauszufinden, welche Funktionen/Operatoren in dieser Situation verwendet werden.
Jede Hilfe ist viel
man viel machen das Leben könnte einfacher, indem Sie {'apps_created': '3'} speichern, dh das 'Feld' und den 'Wert' aus jedem Wörterbuch löschen, so dass Sie anstelle eines Wörterbuchs mit zwei Elementen ein Wörterbuch mit einem haben. In der Tat, wenn Sie das getan haben, könnten Sie in der Lage sein, die ganze Reihe von Wörterbüchern Ding und haben ein großes Wörterbuch, das so viel einfacher sein würde, in PostgreSQL und in Ihrem Code zu arbeiten – e4c5
Der Grund für die Speicherung auf diese Weise ist, weil ich lassen Benutzer senden benutzerdefinierte Datenfelder/Werte und können sie daher zur Entwurfszeit nicht kennen. AFAIK das ist nicht möglich, wenn der Schlüssel wie das hardcoding – Tarlen
Mit meinem Vorschlag müssen Sie immer noch nicht wissen, was diese Felder zur Entwurfszeit sind. – e4c5