在嵌套的Postgresql JSONB列中搜索

时间:2020-02-20 08:05:44

标签: ruby-on-rails ruby postgresql jsonb

如何在Rails中的嵌套jsonb列中进行搜索。

Model: Shop
jsonb column: shop_data

shop_data: {
  common_data: {
    "image_url" => "https://sample.com/img.jpg"
    "token" => "AOsa2123ASDasdaasasda"
    "uid" => ""
    "expires_at" => ""
  }
}

要创建一个将检查记录的范围,其中:

1. shop_data->common_data->expires_at IS NOT NULL
2. shop_data->common_data->image_url IS NULL

1 个答案:

答案 0 :(得分:0)

 1. scope :expired, -> { where("shop_data -> 'common_data' ->> 'expires_at' IS NOT NULL") }
 2. scope :null_image, -> { where("shop_data -> 'common_data' ->> 'image_url' IS NULL") }

来源conversion

希望有帮助

相关问题