Как проверить в Ruby rails, присутствует ли слово в значении строки, которая является частью столбца jsonb в postgres? - PullRequest
0 голосов
/ 16 февраля 2020

У меня есть таблица User в postgres. В консоли рельсов я ищу User.where(<myWhereClause>).count

У меня есть столбец jsonb, называемый "критерием".

В пределах criteria для ключа eligibility я хочу посмотреть, содержит ли значение мой поисковый термин 'directMBA'

eligibility - это строка через запятую - 'directMBA, correspondanceMBA, onlineMBA'

Это не работает

User.where("criteria->>'eligibility'.include?('directMBA')").count

Мне не нужен запрос sql. Мне нужен код Ruby Rails для запуска в консоли

PS: Кроме того, что, если моим ключевым словом является 'directMBA' или 'onlineMBA'

1 Ответ

1 голос
/ 16 февраля 2020

Вы ищете SQL LIKE оператор

User.where("criteria->>'eligibility' LIKE '%directMBA%'").count

# Also, what if my keyword is 'directMBA' or 'onlineMBA'
User.where("criteria->>'eligibility' LIKE '%directMBA%' OR LIKE '%onlineMBA%'").count
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...