sql >> Base de Datos >  >> RDS >> PostgreSQL

Busque en un tipo JSON de Postgres anidado o de varios niveles mediante Active Record

Si está usando Postgres como base de datos y la columna realmente es de tipo json, puede usar una búsqueda en Rails como esta:

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

Este #>> recorrerá la ruta json y realizará la búsqueda. Si usa solo #> (con solo uno>), devolverá el json restante.

Otro ejemplo, si quieres obtener la "c" => "ok"

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

Creo que eso es todo.