json
PostgreSQL 9.3で型をテストしようとしています。というテーブルに という
列がありjson
ます。JSON は次のようになります。data
reports
{
"objects": [
{"src":"foo.png"},
{"src":"bar.png"}
],
"background":"background.png"
}
「objects」配列の「src」値に一致するすべてのレポートについてテーブルをクエリしたいと考えています。たとえば、一致するすべてのレポートについて DB にクエリを実行できます'src' = 'foo.png'
か? に一致するクエリを正常に作成しました"background"
:
SELECT data AS data FROM reports where data->>'background' = 'background.png'
しかし、"objects"
値の配列があるため、機能するものを書くことができないようです。一致するすべてのレポートについて DB にクエリを実行することは可能'src' = 'foo.png'
ですか? これらのソースを調べましたが、まだ取得できません:
- http://www.postgresql.org/docs/9.3/static/functions-json.html
- 新しい PostgreSQL JSON データ型内のフィールドを使用してクエリを実行するにはどうすればよいですか?
- http://michael.otacoo.com/postgresql-2/postgres-9-3-feature-highlight-json-operators/
私もこのようなことを試しましたが、役に立ちませんでした:
SELECT json_array_elements(data->'objects') AS data from reports
WHERE data->>'src' = 'foo.png';
私はSQLの専門家ではないので、何が間違っているのかわかりません。