私はPostgreSQL 9.5とJSONBデータ型を使って文書を保管しています。私のテーブルのようなもの:Postgres jsonbで配列内のオブジェクト値を検索するにはどうしたらいいですか?
create table records (
id serial,
data jsonb
);
マイドキュメントは、例えばオブジェクトの配列を含む:
{
"some_field": "a value",
"another_field": 123,
entries: [
{
"name": "John Doe",
"age": 42
},
{
"name": "Johnny McMuffin",
"age": 117
}
]
}
問題は、私はentries
にname
属性でフィルタリングできるようにしたいということですアレイと私はそれを把握することはできません。私は、オブジェクトのリスト内の名前の1つに部分的に一致するテーブル内の行を見つけることができるようにしたい。
私はインデックスや表現などについて多くのことを読んだことがありますが、動作させることはできません。これは可能ではありませんか?
これはうまくいくようです。私は何らかの形で可能な重複を扱うことができると思います。 – fiskeben
これらは重複していません。これらは配列の複数の値です。しかし、 'exists'クエリを使って基本テーブルから一意の行だけを取得することができます。 –