为了账号安全,请及时绑定邮箱和手机立即绑定

无法读取未定义的属性“findOne”-Vue.js、Apollo Server、GraphQL

无法读取未定义的属性“findOne”-Vue.js、Apollo Server、GraphQL

手掌心 2023-06-09 14:40:30
大约 24 小时以来,我一直在努力弄清楚我做错了什么,所以我终于决定我会崩溃,如果你们看到不对劲的地方,请问你们所有很棒的人。我的 Apollo 服务器运行得很好,我的 getUser GraphQL 查询工作得很好,但我无法让 getFosseReport 查询工作,出现上述错误(提供的屏幕截图)。首先,我的 typedefs.graphql 文件显示了我的 FosseReport 类型,以及 getFosseReport 查询:type Query {getUser(email: String!): UsergetCurrentUser: UsergetFosseReport(facility_id: String!, report_date: String!): FosseReport}type Token {    token: String!}type FosseReport {    _id: ID    facility_id: String!    report_date: String!    reports: [FosseItems]    created_date: String    modified_date: String}type FosseItems {    account_desc: String    fytd_cgs: String    fytd_credit: String    fytd_debit: String    ptd_cgs: String    ptd_credit: String    ptd_debit: String    seq_cg_cd: String    today_cgs: String    today_credit: String    today_debit: String}type User {    _id: ID    email: String!    password: String!    facility_id: String!}
查看完整描述

1 回答

?
温温酱

TA贡献1752条经验 获得超4个赞

好吧,我真的觉得自己很蠢。显然我完全忘记了我的 server.js 文件,最值得注意的是你传递给 ApolloServer 的上下文对象:


const server = new ApolloServer({

    typeDefs,

    resolvers,

    context: async ({req}) => {

        const token = req.headers["authorization"];

        return { User, FosseReport, currentUser: await getUser(token) };

    }

});

我没有通过上下文传递“FosseReport”对象,只有 User 对象,这就是它不起作用的原因。因此,如果将来有人犯了同样的错误……那么现在您知道了。


查看完整回答
反对 回复 2023-06-09
  • 1 回答
  • 0 关注
  • 110 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信