【发布时间】:2013-09-22 14:13:20
【问题描述】:
我有一个 Rails 应用程序,它从 Google API 聚合了大量数据。我目前将 JSON 响应存储在 MongoDB 中(所以我的 Rails 应用程序同时具有 pg 和 mongo)。但是,今天我遇到了 PostgreSQL Hstore 扩展,我决定试一试。
很遗憾,我遇到了问题。 API 给出的 JSON 是多级深度的,因此JSON.parse 之后的 Ruby 哈希包含哈希,其中包含新的哈希。但是,Hstore 是字符串键/值存储,它只有 1 级深。所以第一个散列中的散列就变成了字符串。
我发现真正令人讨厌的 hack 是 eval 将哈希值转换为字符串:
eval("{ "foo" => "bar" }")
我不喜欢这样。关于做什么的任何提示?我应该继续使用 MongoDB 还是有更好的方法在 PG 中存储多级深度哈希?
【问题讨论】:
标签: ruby-on-rails postgresql ruby-on-rails-4 hstore