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

问题描述 投票:0回答:1

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

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

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

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

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

谢谢。

graphql keystonejs
1个回答
3
投票

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

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

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

GraphQL Queries 文档有更多使用说明和示例。还有一个 升级指南,专门介绍了在此升级之前您需要对查询进行的所有更改。

© www.soinside.com 2019 - 2024. All rights reserved.