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

GraphQL对可重复组件执行深度过滤时抛出错误问题

报错原因
  • 你将link组件设置为可重复类型后,内容类型中的doc字段在GraphQL Schema中对应为组件数组,不是单个组件对象,你当前使用的单对象字段过滤语法无法匹配数组结构,所以触发字段不存在的报错
  • 你的过滤字段名配置错误:你需要筛选的是link组件内部的language字段,不是组件字段本身的link属性
正确查询写法

如果要先过滤出所有包含EN语言link条目的内容,同时仅返回符合条件的单个link条目,使用以下适配Strapi v4主流版本的查询即可:

query {
  test(where: { doc: { elemMatch: { language: { eq: "EN" } } } }) {
    Title
    Langu
    doc(filters: { language: { eq: "EN" } }) {
      language
      text
    }
  }
}
语法说明
  • 外层where中的elemMatch是数组类型字段的专用过滤操作符,用来匹配数组中至少有一个元素满足嵌套条件
  • 内层doc字段后加的filters用来过滤返回的doc数组内容,仅保留符合语言条件的条目,不会返回该内容下所有的link组件

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 00:27:05