【问题标题】:How to find key of hash in jsonb in Rails?如何在 Rails 的 jsonb 中找到哈希键?
【发布时间】:2020-03-31 23:05:47
【问题描述】:

示例 样板房,栏目:动物。 里面的动物jsonb是这样的:

dogs: {
  dog1: { attributes...},
  dog2: { attributes...},
  ...
}

问题
如何仅通过 key("dog1") 找到 dog1

【问题讨论】:

  • 能否提供数据库、模型和迁移?你试过什么了?你得到什么错误?

标签: sql ruby-on-rails ruby jsonb


【解决方案1】:

Active Record 本身不支持此功能。您必须编写一些自定义的 where 子句。例如在 Postgres 中,请参阅此处的文档:https://www.postgresql.org/docs/9.4/functions-json.html

这里列出了一些示例:https://nandovieira.com/using-postgresql-and-jsonb-with-ruby-on-rails,在“查询您的 jsonb 列”部分下!

# preferences->twitter OR preferences->github
User.where('preferences ?| array[:keys]', keys: ['twitter', 'github'])

【讨论】:

    猜你喜欢
    • 2010-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-27
    • 1970-01-01
    • 1970-01-01
    • 2021-10-19
    • 2016-12-09
    相关资源
    最近更新 更多