最佳答案
json
类型
我在一个名为reports
的表中有一个名为data
的json
列。JSON看起来像这样:
{
"objects": [
{"src":"foo.png"},
{"src":"bar.png"}
],
"background":"background.png"
}
我想查询表中所有与“对象”数组中的“src”值匹配的报告。例如,是否有可能查询DB中所有匹配'src' = 'foo.png'
的报告?我成功地编写了一个可以匹配"background"
的查询:
SELECT data AS data FROM reports where data->>'background' = 'background.png'
但是由于"objects"
有一个值数组,我似乎不能写一些有用的东西。是否有可能查询DB中所有匹配'src' = 'foo.png'
的报告?我已经看了这些资料,但仍然找不到:
我也尝试过这样的事情,但都无济于事:
SELECT json_array_elements(data->'objects') AS data from reports
WHERE data->>'src' = 'foo.png';
我不是一个SQL专家,所以我不知道我做错了什么。