Как запросить записи с помощью rom-sql по столбцу json в postgres?
Имея таблицу со столбцом jsonb, содержащим некоторый массив, как лучше всего выбирать записи, содержащие определенный тег с rom-sql
?
Пример запроса. https://www.db-fiddle.com/f/u4CFkUUpnHZj67j1RJ5YRe/0
CREATE TABLE posts (
id INT,
tags JSONB
);
INSERT INTO posts (id, tags) VALUES (1, '["cats", "dogs"]');
INSERT INTO posts (id, tags) VALUES (2, '["dogs"]');
SELECT * FROM posts WHERE tags @> '["cats"]';
Итак, как построить этот запрос с rom-sql
?
1 ответ
Решение
Это так же просто, как posts.where { tags.contain(['cats']) }
, Есть некоторые проблемы с получением YARD для этих методов, потому что мы слишком инновационные. Так или иначе, весь список поддерживаемых в настоящее время методов / операторов находится на Github.