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

Keystone 6中GraphQL查询where子句报错:预期StringFilter类型

问题原因

Keystone 6的GraphQL API对过滤逻辑做了封装,所有字段的过滤条件都不会直接接收原始值,而是需要传入对应类型的过滤器对象。你报错是因为title字段是String类型,对应的过滤类型为StringFilter,必须指定具体的匹配操作符才能使用。

解决方案

把你的查询条件修改为嵌套结构,指定equals操作符表示精确匹配:

query {
  posts ( where: { title: { equals: "test" } } ) {
    title
  }
}
拓展说明

StringFilter还支持其他常用操作符,可按需使用:

  • contains:匹配包含指定字符串的内容
  • startsWith:匹配以指定字符串开头的内容
  • endsWith:匹配以指定字符串结尾的内容
  • not:对指定条件取反,示例如下:
    # 查询标题不等于test的内容
    where: { title: { not: { equals: "test" } } }
    

该逻辑同样适用于Int、DateTime等其他类型的字段过滤,均需要指定对应操作符而非直接传值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 14:39:04