You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在单个查询中获取多个文档?GROQ代码报错求助

解决GROQ单查询获取多页面slug的问题

你当前的GROQ查询语法有误——把三个独立的文档查询放在了对象字面量{}里,这不符合GROQ的语法规则,会触发解析错误。以下是两种可行的修正方案:

方案1:按页面类型分组返回slug数组

将查询用数组[]包裹,结果会是一个包含三个子数组的结构,每个子数组对应一种页面类型的slug集合:

const pagesQuery = groq`[
  *[_type == 'homepage']{slug},
  *[_type == 'faq']{slug},
  *[_type == 'contact']{slug}
]`

方案2:返回合并后的扁平结果

如果需要把所有页面的slug合并成一个列表,同时可选择保留页面类型信息,推荐用in运算符简化查询:

带页面类型的完整信息

const pagesQuery = groq`
*[_type in ['homepage', 'faq', 'contact']]{
  _type,
  slug
}
`

仅扁平slug数组

const pagesQuery = groq`
*[_type in ['homepage', 'faq', 'contact']].slug
`

内容的提问来源于stack exchange,提问作者Burger Sasha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 17:20:41