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