Искать во вложенном столбце Postgresql JSONB - PullRequest
0 голосов
/ 20 февраля 2020

Как искать во вложенном столбце jsonb в Rails.

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 голосов
/ 20 февраля 2020
 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") }

источник JSON функционирует в postgres

Надеюсь, это поможет

...