2016-11-08 3 views
0

Ich versuche, eine Abfrage auf ein Array mit massivjs zu konstruieren, aber es sagt mir immer, dass der Betreiber nicht unterstützt wird.Suche ein Array mit massivjs

Diese Abfrage funktioniert:

SELECT * FROM my_table WHERE data->'items' @> '[{"foo": "bar"}]'; 

wo data ein jsonb Feld ist und items ist ein Array von Objekten. Meine massivejs Abfrage ist:

{ 'data #>> {items} @>': '[{ \"foo\": \"bar\" }]' } 

aber massiv sagt mir den @> Operator existiert nicht.

Ich weiß, dass ich Raw SQL ausführen kann, aber ich baue eine Abfrage mit Paging, Sortierung und anderen Abfragebedingungen, also würde ich lieber nicht alles neu erstellen, wenn ich es vermeiden kann.

Gibt es einen Fehler in meiner Abfrage? Wird das etwas massiv unterstützt?

+0

Dies sollte ab Version 2.2.0, veröffentlicht Anfang 2016, unterstützt werden. – dmfay

Antwort

0

Ich glaube nicht, massivejs unterstützt Jsonb-Operatoren.

Ihre Abfrage ist SQL-korrekt. Und ich denke, dass Sie in diesem Fall rohen SQL machen müssen.

Ich lese gerade die API-Dokumentation und es geht in meine Richtung aber Ich könnte etwas übersehen.

+1

Es hat teilweise JSONB Unterstützung, aber das ist eine Grauzone. Und unsere Verwendung ist nicht kompatibel mit 'findDoc'. –