我得到的查询不是一个功能

时间:2019-07-02 19:25:13

标签: node.js graphql prisma

Edit01

当命令完成执行时,我正在运行命令prisma deploy,所有查询在文件src/generated/graphql-schema/prisma.graphql中都是可见的,除了查询listProdutos没有出现在文件中。

以这种方式配置:

Resolvers / Query.js

function listProdutos (_, args, ctx, info) {
  const userId = getUserId(ctx) 
  return ctx.db.query.produtos({
    where: {
      OR: [
        {
          user: {
            id: userId
          }
        }
      ]
    }
  }, info)
}

schema.graphql

type Query {
  listProdutos: [ Produto! ]!
}

我遇到以下错误:

{
  "data": null,
  "errors": [
    {
      "message": "ctx.db.query.produtos is not a function",
      "locations": [
        {
          "line": 2,
          "column": 3
        }
      ],
      "path": [
        "listProdutos"
      ]
    }
  ]
}

如果需要,我将项目放入git:

https://github.com/Denis-String/lavacar-back

2 个答案:

答案 0 :(得分:0)

您的查询listProdutos是您自己的schema.graphql查询名称,但不是pyramida生成的查询。您的解析器应如下所示:

function listProdutos (_, args, ctx, info) {
  const userId = getUserId(ctx) 
  return ctx.db.query.produtos({
    where: {
      OR: [
        {
          user: {
            id: userId
          }
        }
      ]
    }
  }, info)
}

答案 1 :(得分:0)

这是为我解决问题的原因:

ctx.db.produtos