现在pg有一列jsonb类型的expression,他的值是这样[{"must": {"match": {"classIds": [1,5]}}}]怎么提取里面的 classIds 做类似 sql中in(1,5)的查询?
找了个解决方案:SELECT * FROM (SELECT *, ((jsonb_array_elements(search_expression) :: jsonb->'match') :: jsonb->'classIds' :: jsonb)) as class_id FROM item_category) t WHERE class_id <@ '[1,5]'::jsonb
找了个解决方案:
SELECT * FROM (SELECT *, ((jsonb_array_elements(search_expression) :: jsonb->'match') :: jsonb->'classIds' :: jsonb)) as class_id FROM item_category) t WHERE class_id <@ '[1,5]'::jsonb