GraphQL查询来访问数组中的第一项?

时间:2019-04-24 09:58:10

标签: graphql

进行了很好的搜索,但似乎找不到任何东西。 GraphQL中是否可以仅访问数组中的第一项?

类似的东西:

query {
  allDBItems {
    edges {
      node {
        exampleArray([0])
      }
    }
  }
}

2 个答案:

答案 0 :(得分:2)

否,除了使用@skip@include指令有条件地包含/排除字段之外,GraphQL不提供任何用于处理请求的语法。

您要查询的GraphQL服务 可能支持一种方法,该方法通过在字段上提供一个limit,{{1}之类的参数来将字段的结果集限制为特定长度}或first。但是,由服务器决定将这些字段包含为服务架构的一部分,并提供实现它们的逻辑。查看您的API文档,以查看是否支持这些字段。

任何响应操作都必须在客户端进行。有一个实验性的graphql-lodash库,可让您在查询中直接进行操作-但最终,数据仍在客户端转换。

答案 1 :(得分:1)

不是这样-没有这样的“仅客户端”语法。

一般规则“询问您的需求” 在传递[named]参数(变量)时需要一个明确的表达式。

只需告诉您的API 即可-传递一个$(System.DefaultWorkingDirectory)/*/*/APIs/*.zip(和limit?)参数-可以为您的API [解析器]识别。

否则,您只能使用所有返回的数组元素中的第一个-仅适用于小型数据集。

阅读有关分页的graphql文档。