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

GraphQL使用where过滤器查询报Unknown argument "where"错误咨询

问题原因

报错核心是where筛选参数放错了位置:

  • 错误信息明确提示ShoepostEntity.attributes字段不存在where入参,你当前把筛选条件写在了单条数据的attributes字段上,这个字段的作用仅为指定要返回的内容字段,本身不支持任何筛选类参数。
  • 所有针对数据集的筛选、排序、分页参数,都要写在集合查询的根字段(也就是你代码里的shoeposts)层级,先从全量数据里过滤出符合条件的记录,再返回对应字段内容。
  • 你写的原查询末尾多了一个多余的右大括号,本身也存在语法问题。
修正方法

把筛选参数移到shoeposts字段后方,删掉多余的闭合大括号即可,根据你使用的Strapi版本选择对应写法:

  • Strapi v3 版本(筛选参数名为where):
shoeposts(where: {slug: "NikeDunkLow"}) {
  data {
    attributes {
      title
      slug
    }
  }
}
  • Strapi v4 及以上版本(筛选参数改名为filters,需要显式指定匹配操作符,eq代表精确匹配):
shoeposts(filters: {slug: {eq: "NikeDunkLow"}}) {
  data {
    attributes {
      title
      slug
    }
  }
}

调整后查询会先过滤出slug为NikeDunkLow的记录,再返回对应的标题和slug字段,不会再触发参数不存在的校验报错。


内容的提问来源于stack exchange,提问作者damian-lw

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 06:39:25