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

Aktivní záznam:Dotaz JSON

Toto:

#<ActiveRecord::Relation [#<Model id: 1, Model id: 2 ...>]

je výsledkem volání inspect na dotaz a inspect zobrazí pouze sloupce, které o něm model zná. Model bude během spuštění dotazovat tabulku na sloupce, takže bude vědět pouze o sloupcích, které jsou skutečně v tabulce.

ActiveRecord vytváří metody přístupového objektu sloupců za běhu pomocí method_missing takže může v dotazu vytvářet věci metod, které nejsou sloupci ve skutečné tabulce.

Tedy vaše data je tam, stačí o to požádat jménem, ​​například:

Model.select(:id, "json_field -> 'data' as data").map(&:data)

vám poskytne data hodnoty.




  1. Jak vrátím pole jsonb a pole objektů z mých dat?

  2. Je možné použít Crosstab/Pivot Query v MySQL?

  3. ERROR 2002 (HY000):Nelze se připojit k místnímu serveru MySQL přes soket '/var/lib/mysql/mysql.sock'

  4. Sníží se výkon SQLite, pokud je velikost databáze větší než 2 gigabajty?