使用 Mongoose 进行基于 GraphQL 游标的分页
GraphQL Cursor Based Pagination with Mongoose
我学习 GraphQL 已经有一段时间了。我了解简单查询和突变的概念。现在我正在尝试实现基于 Relay 样式光标的分页。我可以创建像 edges、totalCount、hasNextPage、hasPreviousPage 等结果。但我觉得我查询数据库的次数太多了。我的意思是一个 "find" 用于边,一个用于 totalCount(mongoose 中的 countDocuments()),一个用于 hasNextPage 和 hasPreviousPage。
我有一个结构,例如,如果客户端不要求 totalCount,则该查询不会执行。感谢字段解析器。
我试过保持限制 "first + 1" 之类的方法,因此如果客户端请求 5 条记录并且查询找到 6 条,则 "hasNextPage" 为真等
但我仍在努力寻找可靠的例子。我想知道最佳实践,但几乎所有示例都有 模拟数据 。没有真正的数据库,只有一些对象数组。他们只是将它切成薄片 return.
如何找到示例或学习最佳实践。我一直在阅读 Facebook 的分页规范。我什至研究了 mongoose 中继分页包的源代码,但是当你试图学习一些东西时,它们感觉就像一团糟。
如果有任何好的例子,我将不胜感激。
谢谢
The Road to GraphQL 作者 Robin Wieruch 是免费的开源书籍资源,其中包含设置分页服务器和客户端的示例。我强烈推荐它来学习和理解分页,这是我在我的第一个 Graphql 项目中使用的资源。
我学习 GraphQL 已经有一段时间了。我了解简单查询和突变的概念。现在我正在尝试实现基于 Relay 样式光标的分页。我可以创建像 edges、totalCount、hasNextPage、hasPreviousPage 等结果。但我觉得我查询数据库的次数太多了。我的意思是一个 "find" 用于边,一个用于 totalCount(mongoose 中的 countDocuments()),一个用于 hasNextPage 和 hasPreviousPage。
我有一个结构,例如,如果客户端不要求 totalCount,则该查询不会执行。感谢字段解析器。
我试过保持限制 "first + 1" 之类的方法,因此如果客户端请求 5 条记录并且查询找到 6 条,则 "hasNextPage" 为真等
但我仍在努力寻找可靠的例子。我想知道最佳实践,但几乎所有示例都有 模拟数据 。没有真正的数据库,只有一些对象数组。他们只是将它切成薄片 return.
如何找到示例或学习最佳实践。我一直在阅读 Facebook 的分页规范。我什至研究了 mongoose 中继分页包的源代码,但是当你试图学习一些东西时,它们感觉就像一团糟。
如果有任何好的例子,我将不胜感激。 谢谢
The Road to GraphQL 作者 Robin Wieruch 是免费的开源书籍资源,其中包含设置分页服务器和客户端的示例。我强烈推荐它来学习和理解分页,这是我在我的第一个 Graphql 项目中使用的资源。