sql >> Databáze >  >> RDS >> PostgreSQL

Vyhledávejte přes vnořený / víceúrovňový typ Postgres JSON pomocí Active Record

Pokud používáte Postgres jako databázi a sloupec je skutečně typu json, můžete použít vyhledávání v Rails takto:

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

Toto #>> přejde přes cestu json a provede vyhledávání. Pokud použijete pouze #> (pouze s jedním>), vrátí zbývající json.

Další příklad, pokud chcete získat "c" => "ok"

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

Myslím, že to je ono.




  1. MySql - výpočet časového rozdílu pro více řádků

  2. Počítání a seskupování stejného pojmenovaného sloupce v různých tabulkách (kde klauzule pouze z jedné tabulky)

  3. Jak počítat dny kromě neděle mezi dvěma daty v Postgres?

  4. Aktualizujte hodnotu sloupce PostgreSQL