排序
这是 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
}
}
如果 Movie
和 Actor
类型之间存在关系,您也可以在获取 actors
字段时进行排序
query {
movies {
title
runtime
actors(sort: [{ surname: ASC }]) {
surname
}
}
}
只有在使用连接 API 时,才能根据关系属性对查询结果进行排序。 |