PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Suchen Sie mithilfe von Active Record nach einem verschachtelten/mehrstufigen Postgres-JSON-Typ

Wenn Sie Postgres als Datenbank verwenden und die Spalte wirklich ein JSON-Typ ist, können Sie eine Suche in Rails wie folgt verwenden:

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

Dieses #>> geht über den JSON-Pfad und führt die Suche durch. Wenn Sie nur #> (mit nur einem>) verwenden, wird das restliche JSON zurückgegeben.

Ein weiteres Beispiel, wenn Sie das "c" => "ok"

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

Ich denke, das ist es.