基于偏移量的分页

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

基于偏移量的分页,通常与通过页面进行导航相关联,可以通过在查询数据时使用可用的offsetlimit选项来实现。

使用以下类型定义

type User @node {
    name: String!
}

您可以通过执行以下操作来获取前 10 个“页面”

query {
    users(limit: 10) {
        name
    }
}

然后在后续调用中,引入offset参数并在每次调用时将其递增 10。

第 2 页

query {
    users(offset: 10, limit: 10) {
        name
    }
}

第 3 页

query {
    users(offset: 20, limit: 10) {
        name
    }
}

依此类推。

总页数

您可以使用某个类型的计数查询来获取该类型的记录总数,然后将其除以每页的条目数以计算总页数。这将允许您确定最后一页是什么,以及是否存在下一页。

有关如何执行这些查询的详细信息,请参阅 计数 查询。

分页关系字段

假设除了上面的User类型之外,还有一个Post类型,User拥有许多Post。您还可以获取User,然后对其帖子进行分页

query {
    users(where: {
        name_EQ: "Billy"
    }) {
        name
        posts(offset: 20, limit: 10) {
            content
        }
    }
}