我的目标是在JSONB中找到id。我正在使用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"]';
我做错了什么?或者怎么解决?
试试这个
Product.findAll({
where:{
sub_category_ids: {
id:{
[Op.contains]: '["'+req.params.subcategoryId+'"]'
}
}
}
})