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

Sorting by nested object in GraphQL + Relay

我有以下简单的结构。

Table Tasks 外键 teamIdTeams table 带有 name 列。

我有一个兼容 Relay 的 GraphQL,如果我想与团队一起完成任务,我会做类似的事情。

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

如果我想按任务描述排序

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

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

您的 taskNodes 字段似乎采用枚举形式的 orderBy 参数。 GraphQL 没有通用的排序功能——这一切都是通过传递到字段中的参数来完成的。

当您使用 GraphiQL(GraphQL 的交互式查询浏览器)时,它应该会告诉您 orderBy 的可用选项是什么。如果没有任何看起来像 TEAM_NAME 或类似的东西,您需要让 API 开发人员添加一个新选项。