Запрос PostgresSQL (9.6.5) Столбец JSONb с Rails 5.1.6 Для нескольких пар ключ-значение - PullRequest
0 голосов
/ 25 февраля 2019

В моей базе данных есть столбец с именем events.

t.jsonb "events"

Там я храню массив с хэшами.

[{ type: 'bounce', bounce_class: '25'}...]

Я могу найти записи, в которых есть хэш с парами ключ: значение типа: 'bounce' и bounce_class: '25', с помощью этой инструкции , где .

where("events @> ?", [{type: "bounce", bounce_class: '25'}].to_json)

Чего я не могу понять, так это как искать несколько значений в ключе класса bounce: значение пары без объединения в цепочку таких операторов или , как этот.

where("events @> ?", [{type: "bounce", bounce_class: '25'}].to_json).or(where("events @> ?", [{type: "bounce", bounce_class: '26'}].to_json))

Я хотел бы найти все записи, которые имеют тип: 'bounce' и имеют bounce_class '25' или '26, или '50'.

Есть ли лучший способ, чем цепочка или операторов?

Спасибо

...