我有一个名为category的jsonb字段,它是一个类别数组。我希望查询返回所有类别包含数组任何元素的行。例如
ID | categories
1 ["Pizza", "Italian"]
2 ["Fast Food", "Hamburger"]
3 ["Pizza"]
我想查询所有类别中包含意大利或汉堡的地方。问题在于要查找的类别数是可变的。在查询中,我可能要搜索2个类别,在另一个查询中,我可能想要搜索5。
下面的代码可以正常工作,但是如何使数组变量中的项目数呢?
select * from places where categories @> ANY(array['Pizza','Italian']::jsonb) order by id LIMIT 50 OFFSET 0