Я использую базу данных Postgres, и я пытаюсь использовать новый тип JSONB. У меня есть таблица с именем employees
с колонкой с именем previous_companies
, который содержит следующие данные в формате JSON:Postgres JSONB сделать выбор из массива данных
[{"company":"Facebook", "link": "www.facebook.com"}, {"company":"Google", "link": "www.google.com"}, {"company":"Some Face", "link": "www.someface.com"}]
Я пытаюсь выбрать всех сотрудников, которые имеют определенную строку для поля «фирмы», например:
- Если я хочу, чтобы все сотрудники, которые работали на компанию, которая имеет «лицо» на его имя, я бы:
[{"company":"Facebook", "link": "www.facebook.com"}, {"company":"Some Face", "link": "www.someface.com"}]
Я был в состоянии сделать запрос для EXACT строки, например:
SELECT * FROM employees WHERE previous_companies @> '[{"company":"Facebook"}]'
но он возвращает это: [{"company":"Facebook", "link": "www.facebook.com"}]
Как вы можете видеть, это не поддерживает запросы для неполных строк.
Спасибо!