基于GraphQL游标的Mongoose分页

基于GraphQL游标的Mongoose分页,mongoose,graphql,apollo,relay,apollo-server,Mongoose,Graphql,Apollo,Relay,Apollo Server,我学习GraphQL已经有一段时间了。我理解简单查询和突变的概念。现在,我正在尝试实现一种中继样式的基于光标的分页。我可以创建像Edge、totalCount、hasNextPage、hasPreviousPage等结果,但我觉得我查询数据库的次数太多了。我的意思是一个“查找”用于边,一个用于totalCount(mongoose中的countDocuments()),一个用于hasNextPage和hasPreviousPage 我有一个结构,例如,如果客户机不要求totalCount,该查询

我学习GraphQL已经有一段时间了。我理解简单查询和突变的概念。现在,我正在尝试实现一种中继样式的基于光标的分页。我可以创建像Edge、totalCount、hasNextPage、hasPreviousPage等结果,但我觉得我查询数据库的次数太多了。我的意思是一个“查找”用于边,一个用于totalCount(mongoose中的countDocuments()),一个用于hasNextPage和hasPreviousPage

我有一个结构,例如,如果客户机不要求totalCount,该查询就不会执行。多亏了字段解析器

我尝试过保持限制“first+1”,因此如果客户机要求5条记录,而查询结果为6条,那么“hasNextPage”为真等等

但我仍在努力寻找一个可靠的例子。我想知道最佳实践,但几乎所有示例都有模拟数据。没有真正的数据库,只有一些对象数组。他们只是把它切成薄片然后再回来

我如何找到一个例子或学习最佳实践。我一直在阅读Facebook的分页规范。我甚至研究过mongoose中继分页软件包的源代码,但当你试图学习一些东西时,它们会感觉一团糟

如果有好的例子,我将不胜感激。
感谢Robin Wieruch提供的免费开源图书资源,其中有设置分页服务器和客户端的示例。我强烈建议您学习和理解分页,这是我在第一个Graphql项目中使用的资源。

我已经阅读了他的一些教程,我认为他很棒!起初我不知道他写了那么多的资料,但现在我在关注他的作品。谢谢,顺便说一句!