ruby-on-rails - Rails hStore postgresql activerecord 数据库查询?

标签 ruby-on-rails ruby postgresql rails-activerecord

我希望能够查询 PG 数据库上的 hStore 列并仅返回与特定键对应的值。

数据看起来像这样:(记住 :data 是一个 postgresql hStore)

[ id: 2, data: {"tags"=>"Ruby, Objects", "type"=>"video", "title"=>"RubyTapas: Blocks, Procs, and Lambdas"}, 
  id: 3, data: {"tags"=>"JavaScript, Objects", "type"=>"video", "title"=>"RubyTapas: Blocks, Procs, and Lambdas"} ]

我想做一些这样的事情:

Model.uniq.pluck(:tags)

我期望的输出是:

Ruby, Objects, JavaScript

*我正在严格尝试使用 activerecord 和 postgresql 来实现它。

最佳答案

我通过以下方式成功获得了我想要的结果:

Model.pluck(:data).map{|j| j['tags'].split(',') }.flatten.uniq

我仍然对不需要map activerecord 关系的解决方案感兴趣。请指教。

关于ruby-on-rails - Rails hStore postgresql activerecord 数据库查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27163643/

相关文章:

ruby-on-rails - 使用 mailgun-ruby 在 Rails 中设置 erb 模板

ruby-on-rails - 可以从嵌套在该模块中的类调用模块类方法吗?

java - 在 nativeQuery 中注入(inject) JSON 参数

postgresql - HEROKU POSTGRES 错误 : Connection refused Is the server running on host "..compute-1.amazonaws.com..." and accepting TCP/IP connections on port 5432?

mysql - 像搜索查询一样连接字段的 Rails

ruby-on-rails - 实现可通过Rails和Devise验证的 token

ruby-on-rails - 如何在 ERB 输出中允许换行

ruby - 在 Ruby 中循环遍历数组的各个部分

ruby - 使用 YARD 时忽略注释掉的代码

sql - 从大表中获取每个 parent 的最新 child - 查询太慢