【发布时间】:2020-11-10 20:00:55
【问题描述】:
所以我对 graphql 有点陌生,我遇到了一个我不知道如何解决的问题。 我正在使用 nodeJs 和 apollo。
我有一个用户类型的个人资料微服务:
type User @key(fields: "_id") {
${userFields}
}
我还有一个进度微服务,我在其中扩展了用户类型:
extend type User @key(fields: "_id") {
_id: ID! @external,
progression: Progression
}
type Progression {
currentGOTW: Int,
totalGOTW: Int,
video(playlistId: String!, itemIndex: Int!): [Int]
}
如您所见,我扩展了 User 类型以添加 Progression 字段,问题来自需要两个参数的 video 字段。
进度解析器如下所示:
User: {
async progression (user, data) {
console.log(data)
const videoProgression = await UserWatched.get({ playlist_id: data.playlistId, item_index: data.itemIndex, userRef: user._id })
return videoProgression
}
}
在这个解析器中,我希望在数据中获得 playlistId 和 itemIndex,但是当我 console.log 时,数据是空的。我没有任何错误,我尝试在解析器函数中显示数据之后的参数,但它们也不包含我想要的。
这是我的查询:
const query = gql`
{
User {
progression {
video(playlistId: "playlist", itemIndex: 3)
}
}
}`
我需要在解析器中获取“播放列表”和 3。
我没有找到任何答案,我开始认为现在可能不可能......
【问题讨论】:
标签: graphql