Как бы вы искали поиск элемента внутри массива, хранящегося в столбце json
? (Обновление: см. Также обновленный ответ 9.4 для столбцов jsonb
.)
Если у меня есть такой JSON-документ, который хранится в столбце json
с именем blob
:
{"name": "Wolf",
"ids": [185603363281305602,185603363289694211]}
то, что я хотел бы сделать, это что-то вроде:
SELECT * from "mytable" WHERE 185603363289694211 = ANY("blob"->'ids');
и вывести все соответствующие строки. Но это не работает, потому что "blob"->'ids'
возвращает значения JSON, а не массивы Postgres.
Я хотел бы также создать индекс для отдельных идентификаторов, если это возможно.