在GraphQL + Relay中按嵌套对象排序

时间:2016-09-20 15:28:25

标签: sorting graphql relayjs relay graphql-js

我有以下简单的结构。

使用外键 teamId 的表任务团队表格中包含名称列。

我有一个符合Relay标准的GraphQL,如果我想通过团队获得任务,我会做类似的事情。

{
  taskNodes {
    Tasks: nodes {
      id,
      description
      Team: teamByTeamId {
        name
      }
    }
  }
}

如果我想按任务描述排序

{
  taskNodes(orderBy: DESCRIPTION) {
    Tasks: nodes {
      id,
      description
      Team: teamByTeamId {
        name
      }
    }
  }
}

但我想按团队名称列排序。你怎么能在GraphQL中做到这一点?

1 个答案:

答案 0 :(得分:0)

看起来您的taskNodes字段以枚举的形式采用orderBy参数。 GraphQL没有通用的排序功能 - 它都通过传递到字段中的参数完成。

当您使用GraphiQL(GraphQL的交互式查询资源管理器)时,它应该告诉您orderBy的可用选项是什么。如果没有看似TEAM_NAME或类似内容的任何内容,您需要让API开发人员添加新选项。