基于GraphQL游标的分页与猫鼬

时间:2019-02-05 21:25:42

标签: mongoose graphql apollo relay apollo-server

我学习GraphQL已有一段时间了。我了解简单查询和变异的概念。现在,我正在尝试实现基于中继的游标分页。我可以创建诸如edge,totalCount,hasNextPage,hasPreviousPage等的结果。但是我感觉我查询的数据库太多了。我的意思是对边缘一个“查找”,一个对totalCount(猫鼬中的countDocuments()),一个对hasNextPage和hasPreviousPage。

我有一个结构,例如,如果客户端不要求totalCount,则该查询不会执行。多亏了现场解决者。

我已经尝试过将限制保持为“ first + 1”,因此,如果客户端要求5条记录,而查询找到6条记录,则“ hasNextPage”为真,等等。

但是我仍在尝试寻找一个可靠的例子。我想知道最佳做法,但是几乎所有示例都具有模拟数据。没有真正的数据库,只有一些对象数组。他们只是将其切成薄片然后返回。

如何找到示例或学习最佳做法。我一直在阅读Facebook的分页规范。我什至研究过猫鼬中继分页软件包的源代码,但是当您尝试学习某些内容时,它们就像一团糟。

如果有任何好的例子,我将不胜感激。 谢谢

1 个答案:

答案 0 :(得分:0)

Robin Wieruch的

The Road to GraphQL是一个免费的开源书籍资源,其中包含设置分页服务器和客户端的示例。我强烈建议您使用它来学习和理解分页,这是我在第一个Graphql项目中使用的资源。