有一个
两者都应返回 PlayerType ,并且都接收带有 profileId 属性的对象。
PlayerType具有属性个人资料,包含解析程序:
profile: {
type: ProfileType,
resolve: (obj, args, {db}) => {
return db.collection('profiles').findOne({_id: ObjectID(obj.profileId)})
}
}
当要求服务器查询播放器时,它会返回播放器表格中的两个字段以及带有个人资料字段的个人资料对象。
但订阅时如下:
playerJoinedTable: {
type: PlayerType,
resolve: payload => payload,
subscribe: () => pubsub.asyncIterator('playerJoinedTable')
执行后,服务器只返回玩家的自己的字段,而不执行个人资料的解析程序。
知道订阅为什么不执行嵌套解析器?
答案 0 :(得分:0)
奥斯卡!
您似乎在playerJoinedTable > profile
解析器中遇到错误。
您似乎正试图访问collection
上的db
(我认为),但db
未定义。
在将db
传递给上下文之前,请确保服务器没有开始侦听