У меня есть таблица Bundle со столбцом jsonb с именем available_quantity. которые будут иметь примерные значения
[{"деноминация": "100", "количество": "20"}, {"деноминация": "1000", "количество": "19"}]
Теперь я хочу запросить все записи с количеством меньше 50.
Я пробовал этот запрос,
Bundle.where ("(available_quantity - >> 'количество'): : numeri c <50 ") </p>
Но это возвращает пустое отношение.
Как я могу это сделать?
SCHEMA
Table "offer_service.bundles"
Column | Type | Collation |
Nullable | Default
-----------------------+-----------------------------+-----------+----
------+--------------------------------------------------------
id | bigint | | not
null | nextval('offer_service.bundles_id_seq'::regclass)
project_id | bigint | |
|
item_type | character varying | |
|
item_id | bigint | |
|
status | integer | | not
null | 0
created_at | timestamp without time zone | | not
null |
updated_at | timestamp without time zone | | not
null |
denomination_quantity | jsonb | |
|
deleted_at | timestamp without time zone | |
|
available_quantity | jsonb | |
|
Пример Данные:
id: 2586, project_id: 3, item_type: "GiftCard", item_id: 659, status:
"activated", created_at: "2020-05-18 09:38:54", updated_at: "2020-05-
28 13:25:29", denomination_quantity: {"100"=>200, "1000"=>200},
deleted_at: nil, available_quantity: [{"quantity"=>16,
"denomination"=>"100"}, {"quantity"=>20, "denomination"=>1000}]