排序

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

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

使用此示例类型定义

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

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

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

enum SortDirection {
    ASC
    DESC
}

input MovieSort {
    title: SortDirection
    runtime: SortDirection
}

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

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

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

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

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

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