Re: jsonb : find row by array object attribute - Mailing list pgsql-general

From Andrew Gierth
Subject Re: jsonb : find row by array object attribute
Date
Msg-id 87lg46tzr3.fsf@news-spur.riddles.org.uk
Whole thread Raw
In response to Re: jsonb : find row by array object attribute  (Andrew Gierth <andrew@tao11.riddles.org.uk>)
List pgsql-general
>>>>> "Andrew" == Andrew Gierth <andrew@tao11.riddles.org.uk> writes:
>>>>> "Rory" == Rory Campbell-Lange <rory@campbell-lange.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.

 Andrew> where j @> '{"people":[{"id":2003}]}'

 Andrew> (meaning: j contains a key "people" whose value is an array
 Andrew> containing an element {"id":2003})

or to be more precise: j is an object containing a key "people" whose
value is an array containing an element which is an object containing a
key "id" with value 2003

i.e. {"a":3, "people": [{"id":2003,"blah":123},{"id":2004}]}  would
match the condition too.

-- 
Andrew (irc:RhodiumToad)


pgsql-general by date:

Previous
From: Andrew Gierth
Date:
Subject: Re: jsonb : find row by array object attribute
Next
From: Chuck Martin
Date:
Subject: Re: getting pg_basebackup to use remote destination