您如何为 ORM 的分页定义中继连接?
Posted
技术标签:
【中文标题】您如何为 ORM 的分页定义中继连接?【英文标题】:How do you define a relay connection for pagination against an ORM? 【发布时间】:2015-12-11 19:48:35 【问题描述】:我查看了 Relay 的所有文档,但似乎没有关于如何使用 ORM 建立 Relay 连接的简单说明。所有示例似乎都使用connectionFromArray
方法,如果您将数据存储在内存中,这很好,但是当您将数据存储在数据库中时,您将如何提供连接分页工作所需的信息?
【问题讨论】:
【参考方案1】:光标为opaque:
Relay 认为此字段的结果是不透明的,但会按照下面“参数”部分中的说明传回服务器。
因此,根据您的数据模型,将像 ID 字符串这样简单的内容作为游标传递可能是合适的,然后您可以在服务器上使用它来使用像 WHERE id > ?
这样的子句加载连接。例如,您可以在此处打包分页所需的任意信息并对其进行 Base-64 编码。
如果您查看the code which returns a connection from an array,您将大致了解您需要在 ORM 支持的存储之上实现的语义,但您不会像它那样对数组进行索引,而是正在合成一个不透明的光标,其中包含足够的信息以使用您的 ORM 进行后续分页。
【讨论】:
感谢您的链接,他们帮助了很多!如果我可以清理我整理的这段代码,也许我会在这里发布以供将来参考。以上是关于您如何为 ORM 的分页定义中继连接?的主要内容,如果未能解决你的问题,请参考以下文章