PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Cerca su un tipo JSON Postgres nidificato/multilivello utilizzando Active Record

Se stai usando Postgres come database e la colonna è davvero di tipo json, puoi usare una ricerca in Rails come questa:

LogService.where("response_body#>>'{status}' = 'ok'")

Questo #>> camminerà sul percorso json ed eseguirà la ricerca. Se usi solo #> (con solo uno>), restituirà il json rimanente.

Un altro esempio, se vuoi ottenere "c" => "ok"

LogService.where("response_body#>>'{um, b, c}' = 'ok'")

Penso che sia tutto.