Я пытаюсь извлечь элементы из столбца JSONB. У меня есть таблица типа:
id NUMBER
data JSONB
структура данных:
[{
"id": "abcd",
"validTo": "timestamp"
}, ...]
Я запрашиваю эту строку с помощью SELECT * FROM testtable WHERE data @> '[{"id": "abcd"}]'
, и она почти работает так, как я хочу.
Беда в том, что столбец data
огромен, например, 100 тыс. Записей, поэтому я хотел бы получить только те элементы данных, которые мне нужны. Например, если бы я запросил SELECT * FROM testtable WHERE data @> '[{"id": "abcd"}]' OR data @> '[{"id": "abcde"}]'
, я ожидаю, что столбец данных будет содержать только записи с идентификатором abcd или abcde. Вот так:
[
{"id": "abcd"},
{"id": "abcde"}
]
Было бы хорошо, если бы запрос возвращал отдельные записи с одной записью данных.
У меня нет идей, как ее решить, пробуя варианты лотов с дней.