Graphql 连接基于“阵列”,这是设计中继服务器的设计风格指南吗?

Graphql 连接基于“阵列”,这是设计中继服务器的设计风格指南吗?,graphql,relayjs,graphql-js,Graphql,Relayjs,Graphql Js,在connection/arrayconnection.js中,似乎所有的函数都倾向于使用array 例如:offsetocursor是生成游标的唯一方法。这是否意味着这是我必须遵循的设计模式,或者意味着在使用数组以外的其他东西时,我应该自己生成游标。如果我计划使用Mongodb,我应该将数据库界面设置为静态数组吗? 顺便说一句: 作为web开发的新手,我有点困惑如何实现合格的中继服务器。 是否有一些设计graphql中继服务器的指南,我是否应该一直遵循graphql中继js,Facebook在

connection/arrayconnection.js
中,似乎所有的函数都倾向于使用
array

例如:
offsetocursor
是生成游标的唯一方法。这是否意味着这是我必须遵循的设计模式,或者意味着在使用
数组
以外的其他东西时,我应该自己生成游标。如果我计划使用Mongodb,我应该将数据库界面设置为静态数组吗?

顺便说一句:
作为web开发的新手,我有点困惑如何实现合格的中继服务器。
是否有一些设计graphql中继服务器的指南,我是否应该一直遵循
graphql中继js
,Facebook在中继服务器上使用了哪个数据库?mysql还是?
我不确定在这里问这个是否合适,但graphql relay js的主题很少出现在web上。
非常感谢,请原谅我的不礼貌

var PREFIX = 'arrayconnection:';
/**
 * Creates the cursor string from an offset.
*/
export function offsetToCursor(offset: number): ConnectionCursor {
    return base64(PREFIX + offset);
}

附加问题:
也许我从developers.facebook.com/docs/graph-api得到了一些想法。
似乎应该为分页查找执行数组样式的缓存(对此不确定)。 但是graph api看起来与graphql relay js有些不同(graph api仍然是旧restful风格的一部分吗?,
GraphAPI和graphql中继js之间的关系是什么?graphql relay js是facebook中设计graphql服务器的通用设计指南吗?
谢谢!请给我一些提示

连接是一种设计模式,如果希望中继执行有效的分页,您的模式可以实现它。如何在后端实现它是一个实现细节。它可能有数组支持,也可能没有数组支持(想想Facebook上的无限滚动新闻提要,它是由一个非常复杂的后端服务进行排名的:这显然没有数组支持)。我们提供了
arrayconnection.js
模块,以演示如果您的数据源具有类似于数组的性质,如何实现这一点。如果它没有,或者不能有效地转换为它,那么最好从头开始实现

游标是不透明的标识符。如果您使用的是阵列源或典型的数据库后端(如MySQL),则可以使用阵列索引或某种主键,但同样,细节是特定于实现的,应该选择适合后端的。唯一的要求是,游标应该对服务器上需要的任何信息进行编码,以便能够在该点之后(或之前)返回下一页结果

graphql relay js
只是一个模块集合,它为在JavaScript中构建与relay兼容的graphql模式提供了一些帮助。模式为您的数据提供了统一的接口,但实际的底层存储可以是您想要插入其中的任何内容(MySQL数据库、内存中的对象、一些REST服务)。有关简单示例,请查看中继回购。举例说明如何将模式放在非传统数据库的前面,例如,借助Redis中的索引和memcached中的缓存数据,从Git repo中读取数据的模式


远离;尽管名称中有“图形”,但这完全是另一回事,与Relay使用的分层查询语言无关。

连接是一种设计模式,如果希望Relay执行高效分页,您的模式可以实现这种模式。如何在后端实现它是一个实现细节。它可能有数组支持,也可能没有数组支持(想想Facebook上的无限滚动新闻提要,它是由一个非常复杂的后端服务进行排名的:这显然没有数组支持)。我们提供了
arrayconnection.js
模块,以演示如果您的数据源具有类似于数组的性质,如何实现这一点。如果它没有,或者不能有效地转换为它,那么最好从头开始实现

游标是不透明的标识符。如果您使用的是阵列源或典型的数据库后端(如MySQL),则可以使用阵列索引或某种主键,但同样,细节是特定于实现的,应该选择适合后端的。唯一的要求是,游标应该对服务器上需要的任何信息进行编码,以便能够在该点之后(或之前)返回下一页结果

graphql relay js
只是一个模块集合,它为在JavaScript中构建与relay兼容的graphql模式提供了一些帮助。模式为您的数据提供了统一的接口,但实际的底层存储可以是您想要插入其中的任何内容(MySQL数据库、内存中的对象、一些REST服务)。有关简单示例,请查看中继回购。举例说明如何将模式放在非传统数据库的前面,例如,借助Redis中的索引和memcached中的缓存数据,从Git repo中读取数据的模式

远离;尽管名称中有“图形”,但这是一件完全不同的事情,与Relay使用的分层查询语言无关