首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TypeError:无法读取未定义的属性'createProduct‘?(来自graphql mutation.js文件)

TypeError:无法读取未定义的属性'createProduct‘?(来自graphql mutation.js文件)
EN

Stack Overflow用户
提问于 2019-04-01 18:52:40
回答 1查看 690关注 0票数 0

当我为面向公众的API (localhost)编写相同的查询时,我得到错误:

代码语言:javascript
复制
TypeError: Cannot read property 'createProduct' of undefined
    at createProduct (/Users/gavish/Desktop/Final Beta/sick-fits/backend/src/resolvers/Mutation.js:5:42)
    at field.resolve (/Users/gavish/Desktop/Final Beta/sick-fits/backend/node_modules/graphql-extensions/lib/index.js:119:77)
    at resolveFieldValueOrError (/Users/gavish/Desktop/Final Beta/sick-fits/backend/node_modules/graphql/execution/execute.js:531:18)
    at resolveField (/Users/gavish/Desktop/Final Beta/sick-fits/backend/node_modules/graphql/execution/execute.js:495:16)
    at /Users/gavish/Desktop/Final Beta/sick-fits/backend/node_modules/graphql/execution/execute.js:339:18
    at /Users/gavish/Desktop/Final Beta/sick-fits/backend/node_modules/graphql/jsutils/promiseReduce.js:25:10
    at Array.reduce (<anonymous>)
    at promiseReduce (/Users/gavish/Desktop/Final Beta/sick-fits/backend/node_modules/graphql/jsutils/promiseReduce.js:22:17)
    at executeFieldsSerially (/Users/gavish/Desktop/Final Beta/sick-fits/backend/node_modules/graphql/execution/execute.js:336:38)
    at executeOperation (/Users/gavish/Desktop/Final Beta/sick-fits/backend/node_modules/graphql/execution/execute.js:289:55)

由于我是graphql的新手,使用graphql和Prisma数据库,当我为demo-prisma服务器编写查询和突变时,我能够查询和更改对象,但不能在我的应用程序的公共api的本地主机端点上!

下面是我的突变文件,它显示了一个错误:

代码语言:javascript
复制
const Mutations = {
    async createProduct(parent, args, ctx, info) {
        console.log('mutation started!')
        const product = await ctx.db.mutations.createProduct({
            data: {
                ...args
            }
        }, info)
        console.log('mutation done!')
        return product
    }
};

module.exports = Mutations;

这也是我的schema.graphql文件

代码语言:javascript
复制
# import * from './generated/prisma.graphql'

type Mutation {
  createProduct(
  id:ID
  name: String
  description: String
  price: Int
  colors: String
  quantity: Int ): Product!
}

type Query {
products:[Product]!
}

我认为我使用的语法有问题。还有什么是ES6格式写的变异函数!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-09 00:18:03

这是ctx.db.mutation而不是ctx.db.mutations

您可能希望切换到prisma-client而不是prisma-binding,因为它更具类型安全,这样您就可以避免像这样的错误。

https://www.prisma.io/docs/prisma-client/

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55453424

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档