我得到那个查询不是一个函数

Posted

技术标签:

【中文标题】我得到那个查询不是一个函数【英文标题】:I'm getting that query is not a function 【发布时间】:2019-11-13 11:32:57 【问题描述】:

编辑01

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

是这样配置的:

解析器/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

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

我一直收到同样的错误,你会有另一个想法,没有创建突变或查询,我正在做的所有新功能都返回这个错误【参考方案2】:

这就是为我解决问题的方法:

ctx.db.produtos

【讨论】:

以上是关于我得到那个查询不是一个函数的主要内容,如果未能解决你的问题,请参考以下文章

我得到那个错误 ORA-01427: 单行子查询返回多于一行

得到 ORA-00979: 不是没有任何聚合函数的 GROUP BY 语句

ASP制作网站使用access、mysql数据库在性能上是不是有差别?那个更好?还有在编写时查询方式是不是一样?

PDO 库是不是比原生 MySQL 函数更快?

怎样在sql2000的数据库里模糊查询某个字段是在那个表

Instagram ?__a=1 查询:为啥我得到登录页面而不是 JSON?