From: | Andrew Gierth <andrew(at)tao11(dot)riddles(dot)org(dot)uk> |
---|---|
To: | Rory Campbell-Lange <rory(at)campbell-lange(dot)net> |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: jsonb : find row by array object attribute |
Date: | 2018-12-30 22:14:19 |
Message-ID: | 87pntiu0n9.fsf@news-spur.riddles.org.uk |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
>>>>> "Rory" == Rory Campbell-Lange <rory(at)campbell-lange(dot)net> writes:
Rory> and data like this:
Rory> j
Rory> --------------------------------------------------
Rory> {"a": 1, "people": [{"id": 2002}, {"id": 2004}]}
Rory> {"a": 3, "people": [{"id": 2003}, {"id": 2005}]}
Rory> (2 rows)
Rory> I'd like to be able to find any row with a particular people id
Rory> attribute.
where j @> '{"people":[{"id":2003}]}'
(meaning: j contains a key "people" whose value is an array containing
an element {"id":2003})
Since @> can use GIN indexes, you should usually try and find a search
condition using it before resorting to playing with -> or expanding out
array values.
--
Andrew (irc:RhodiumToad)
From | Date | Subject | |
---|---|---|---|
Next Message | Andrew Gierth | 2018-12-30 22:31:47 | Re: jsonb : find row by array object attribute |
Previous Message | Tom Lane | 2018-12-30 21:47:10 | Re: jsonb : find row by array object attribute |