Keystone 6 上的 GraphQL where 子句中的错误

Error in GraphQL where clause on Keystone 6

我使用的是 Keystone 6,它随最新版本的 Apollo 一起提供。通常,使用 GraphQL,我们可以使用以下语句插入一个简单的 where 子句:

query {
  posts ( where: { title: "test" } ) {
    title
  }
}

但是,在使用 Apollo Studio 尝试此操作时,出现以下错误:

Expected value of type "StringFilter", found "test".

我尝试了多种方法来解决这个问题,但似乎没有任何效果。你们有谁能帮忙吗?

谢谢。

啊,我知道那个错误。 Keystone 6 处于预发布阶段,API 仍然偶尔会有重大更改。最近对 GraphQL 模式的结构进行了一些更改 released。 运行 新 GraphQL 架构上的旧式查询将产生您所看到的错误。

在这种情况下,查询可以重写为:

query {
  posts ( where: { title: { equals: "test" } } ) {
    title
  }
}

GraphQL Queries docs have more usage instructions and examples. There's also an upgrade guide 专门涵盖了在此升级之前您需要对查询进行的所有更改。