Die Speicherung von verschachtelten Hashes in PostgreSQL mit Rails 4 (und Hstore)

Ich habe eine Rails-app, die aggregiert eine Menge von Daten aus Google-APIs. Ich Speichere die JSON Antworten in MongoDB derzeit (so meine Rails-app hat sowohl pg und mongo). Heute jedoch, habe ich stieß PostgreSQL Hstore-Erweiterung, und ich habe beschlossen, es zu versuchen.

Leider habe ich lief in ein problem. JSON gegeben, die von API ' s ist, die mehrere Ebenen tief ist, so Ruby-Hash nach JSON.parse enthält hashes, welche die neuen hashes. Allerdings Hstore ist string key/value-store, und es geht nur 1 Ebene tief. So hashes innerhalb der ersten hash-nur strings.

Wirklich bösen hack fand ich zu tun ist, um eval die hashes, die gedreht wurden, in strings:

eval("{ "foo" => "bar" }")

Ich nicht, wie diese. Irgendwelche Tipps, was zu tun ist? Sollte ich mit MongoDB oder gibt es eine bessere Möglichkeit zum speichern von multi-level-Tiefe hashes in PG?

Schreibe einen Kommentar