Моя цель - найти идентификатор в JSONB. Я использую DataTypes.JSONB.
Мои данные выглядят так:
{"id": ["8a20b9c0-d3c5-11ea-895e-8757d6b9cab5", "8a1f3320-d3c5-11ea-895e-8757d6b9cab5", "8a226770-d3c5-11ea-895e-8757d6b9cab5"]}
Запрос, который я использую и НЕ работаю:
Product.findAll({
where:{
'sub_category_ids.id': {
[Op.contains]: '["'+req.params.subcategoryId+'"]'
}
Необработанный запрос выглядит так, а НЕ работает:
SELECT *
FROM "Products" AS "Product"
WHERE ("Product"."sub_category_ids"#>>'{id}') @> '["8a1f3320-d3c5-11ea-895e-8757d6b9cab5"]'
ORDER BY "Product"."createdAt" DESC;
Я не получаю результата. Но когда я использую этот запрос, он работает:
SELECT *
FROM "Products" AS "Product"
WHERE ("Product"."sub_category_ids"->'id') @> '["8a20b9c0-d3c5-11ea-895e-8757d6b9cab5"]';
Что я делаю не так или как это исправить?