Здравствуйте!
Помогите пожалуйста составить запрос для выборки по jsonb полю
Есть таблица
CREATE TABLE "public"."foo" ( "id" serial, "data" jsonb ) WITH (OIDS=FALSE) ;
В data вот такие данные:
[ { "work":[ ], "value":[ "2085" ] }, { "work":[ ], "value":[ "2086" ] }, { "work":[ ], "value":[ "2087" ] } ]
Собственно вопрос, как выбрать записи с числом 2085 внутри value ?
https://www.postgresql.org/do
https://www.postgresql.org/docs/9.5/static/functions-json.html
json_extract_path_text('{"f2":{"f3":1},"f4":{"f5":99,"f6":"foo"}}','f4', 'f6')
Прошу прощения, но это не
Прошу прощения, но это не то.
Может я не правильно выразился, у меня многомерный массив объектов:
Т.е. повторяющиеся ключи bar во вложенных объектах.
Данная функция эквивалентна выражению с оператором #>
''{"f2":{"f3":1},"f4":{"f5":99,"f6":"foo"}}''::json #> '{f4, f6}'
Мы как бы указываем чёткий путь от ключа до ключа
В моём случае она не работает,
DATA #> {foo, bar}
какой bar вернёт? - никакой, потому что их несколькоНужно что-то типа in_array(), подскажете?
Ну и что собственное не так.
Ну и что собственное не так. Кроме json_extract_path_text есть и другие функции, о которых написано в документации.