如何协调 Relay/GraphQL 的 globalId 与 mobgodb 的 _id?
Posted
技术标签:
【中文标题】如何协调 Relay/GraphQL 的 globalId 与 mobgodb 的 _id?【英文标题】:How to reconcile Relay/GraphQL's globalId with mobgodb's _id? 【发布时间】:2016-11-01 09:07:54 【问题描述】:我打算使用 mobgodb 作为我的后端存储,并使用 graphql + relay 进行客户端-服务器通信。 如何协调 Relay 的 globalId 和 Mongo id?他们甚至应该是相同的,如果不是,我怎么能将一个连接到另一个?
【问题讨论】:
【参考方案1】:我认为有两种选择:
使用 mongoose 并将模型上的 id 选项设置为 true,它将生成一个带有十六进制字符串的 id 属性
或在您的 graphql 架构上添加一个 id 字段并以这种方式解决它(未测试)
resolve(me)
return me._id.toString()
【讨论】:
【参考方案2】:globalIdField
通常用于定义 graphql 实体的 id 字段,在内部它使用toGlobalId
函数,该函数接受 id 作为第二个参数。然后可以在节点接口定义中使用fromGlobalId
函数来提取 id 和定义的类型。
这是一个mongodb示例,说明如何define id字段,然后use它。
【讨论】:
以上是关于如何协调 Relay/GraphQL 的 globalId 与 mobgodb 的 _id?的主要内容,如果未能解决你的问题,请参考以下文章
如何将 Realm 与 Relay/GraphQL 一起使用
如何使用 Relay、GraphQL 和 React 渲染数据