저는 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
속성을 필터링 할 수 있도록하고 싶습니다이다 배열 및 나는 그것을 알아낼 수 없다. 내 테이블에서 개체 목록의 이름 중 하나와 부분적으로 일치하는 행을 찾을 수 있기를 원합니다.
색인 및 표현식에 대해 많이 읽었지만 작동시키지 못했습니다. 이것이 가능하지 않아야합니까?
이것은 작동하는 것 같습니다. 나는 가능한 복제본을 어떤 식 으로든 다룰 수 있다고 생각한다. – fiskeben
이들은 중복되지 않습니다. 그것들은 배열의 다중 값입니다. 그러나'exists' 쿼리를 사용하여 기본 테이블에서 유일한 행을 얻을 수 있습니다. –