如何使用GROQ查询Sanity中含指定城市的餐厅数据?
基于Sanity数组字段查询餐厅数据
完全可以通过locations数组字段筛选餐厅,Sanity的GROQ查询支持直接检查数组是否包含指定值,写法逻辑和你用slug查询的方式一致,只需替换判断条件即可。
示例查询代码
要返回所有locations数组包含"Casablanca"的餐厅,GROQ查询代码如下:
*[_type == "restaurant" && "Casablanca" in locations] { ..., sections[]{ ..., dishes[]->{ ... } } }
核心逻辑说明
_type == "restaurant":先限定查询的文档类型为你定义的餐厅Schema"Casablanca" in locations:关键判断条件,检查locations数组中是否存在指定的城市字符串- 后续的字段展开逻辑和你提供的slug查询写法完全一致,可按需保留需要返回的字段
内容的提问来源于stack exchange,提问作者Abdellah Slimani
相关产品推荐
相关产品推荐

