排序

这是 GraphQL 库版本 7 的文档。对于长期支持 (LTS) 版本 5,请参阅 GraphQL 库版本 5 LTS

为您的类型定义中定义的每个对象类型都会生成一个排序输入类型。它允许按每个单独的字段对查询结果进行排序。

使用此示例类型定义

type Movie @node {
    title: String!
    runtime: Int!
    actors: [Actor!]! @relationship(type: "ACTED_IN", direction: IN)
}

type Actor @node {
    surname: String!
    movies: [Movie!]! @relationship(type: "ACTED_IN", direction: OUT)
}

为类型 Movie 生成以下排序输入类型和查询

type Movie @node {
    title: String!
    runtime: Int!
}

enum SortDirection {
    ASC
    DESC
}

input MovieSort {
    title: SortDirection
    runtime: SortDirection
}

type Query {
  movies(where: MovieWhere, limit: Int, offset: Int, sort: [MovieSort!]): [Movie!]!
}

以下查询按运行时升序获取所有电影

query {
  movies(sort: [{ runtime: ASC }]) {
    title
    runtime
  }
}

如果 MovieActor 类型之间存在关系,您也可以在获取 actors 字段时进行排序

query {
  movies {
    title
    runtime
    actors(sort: [{ surname: ASC }]) {
      surname
    }
  }
}

只有在使用连接 API 时,才能根据关系属性对查询结果进行排序。

© . All rights reserved.