我将首先介绍我的应用程序:简单的投票应用程序,用户可以在其中创建和投票。简单的。
目前我的 graphql 模式由用户类型、投票类型和投票类型组成,其中用户和投票与其投票具有一对多关系,使用中继连接。
投票类型包含,连同对其投票者和投票的引用,它的时间戳和实际投票值。

现在,据我所知,在规则 graphql 列表上使用连接的优势之一是能够在边缘存储数据(除了分页等等......)。
我怎么能那样做?

如果确实有可能,我的计划是摆脱投票类型,通过连接直接连接用户和他投票的民意调查,并在连接边缘存储投票值和时间戳。

如果重要的话,选民和他的民意调查之间的连接应该是双向的,即每个用户都连接到他投票的民意调查,每个民意调查都连接到它的选民。

最佳答案

这可能更好地使用单独的 Vote 实体建模,如 Michael Paris's answer 中所述,但是,为了解决更普遍的问题“我如何在边缘上定义附加字段?”,请注意,您可以将 edgeFields 传递到 connectionDefinitions 函数 in the graphql-relay module 中。

有一个例子 in the test suite :

var {connectionType: friendConnection} = connectionDefinitions({
  name: 'Friend',
  nodeType: userType,
  resolveNode: edge => allUsers[edge.node],
  edgeFields: () => ({
    friendshipTime: {
      type: GraphQLString,
      resolve: () => 'Yesterday'
    }
  }),
  connectionFields: () => ({
    totalCount: {
      type: GraphQLInt,
      resolve: () => allUsers.length - 1
    }
  }),
});

关于reactjs - react 中继 : Adding data to edges,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37983078/

10-11 23:57