10

Google API から多くのデータを集約する Rails アプリがあります。現在、JSON 応答を MongoDB に保存しています (したがって、Rails アプリには pg と mongo の両方があります)。しかし、今日、PostgreSQL Hstore 拡張機能に出会い、試してみることにしました。

残念ながら、問題が発生しました。API によって提供される JSON は複数レベルの深さであるため、Ruby Hash afterJSON.parseには、新しいハッシュを含むハッシュが含まれます。ただし、Hstore文字列キー/値ストアであり、1 レベルの深さしかありません。したがって、最初のハッシュ内のハッシュは文字列になります。

私が見つけた本当に厄介なハックはeval、文字列に変換されたハッシュに対するものです。

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

私はこれが好きではない。何をすべきかについてのヒントはありますか?MongoDB を使い続ける必要がありますか、それともマルチレベルのディープ ハッシュを PG に格納するためのより良い方法はありますか?

4

7 に答える 7

2

hstore ではなく、json データ型を使用して json を保存します。

于 2013-11-26T23:20:50.540 に答える