【问题标题】:prisma.exists method not working with mongodb Atlasprisma.exists 方法不适用于 mongodb Atlas
【发布时间】:2020-04-15 06:09:57
【问题描述】:

我正在使用棱镜图像 1.34 我在尝试使用 mongodb atlas 实现 prisma.exists 方法时遇到了一个小问题。

type Business {
  _id: ID! @id
  name: String!
  desc: String!
  published: Boolean!
  author: User! @relation(name: "BusinessUser", link: INLINE)
async updateBusiness(parent, args, { prisma, request }, info) {

        const postExists = await prisma.exists.Business({
            _id: args.id,
        })

        if (!postExists) {
            throw new Error('Unable to update post')
        }


        return prisma.mutation.updateBusiness({
            where: {
                _id: args.id
            },
            data: args.data
        }, info)
    }
}

我得到的错误是

TypeError: Cannot read property 'length' of undefined
    at C:\Users\jarid\Desktop\Alfarouk\alfarouq\Backend\node_modules\prisma-binding\src\Prisma.ts:86:31
    at process._tickCallback (internal/process/next_tick.js:68:7)

当我删除与 prisma.exists 相关的代码时,解析器运行成功,我也验证了参数“args.id”被成功提取

**版本

Prisma Server: [1.34.1]
prisma CLI: [1.34.1 ] 
OS: [Windows 10 home edition]
docker toolbox

【问题讨论】:

    标签: graphql mongodb-atlas prisma prisma-graphql prisma-binding


    【解决方案1】:

    我遇到了同样的问题。文档不正确。 以错误的方式调用exists函数。

    试试这个。它应该工作......

    const userExists = prisma.user({
    id: 'cjli6tko8005t0a23fid7kke7',
    }).$exists
    

    【讨论】:

      【解决方案2】:

      您使用的是客户端还是绑定?根据 prisma 文档,语法应如下所示:

      const userExists = prisma.$exists.user({
        id: 'cjli6tko8005t0a23fid7kke7',
      })
      

      见:https://www.prisma.io/docs/1.34/prisma-client/features/check-existence-JAVASCRIPT-pyl1/

      【讨论】:

      • 感谢您的回复,但我试了还是不行。我正在使用棱镜绑定
      • 请尝试 prisma 客户端。你也检查了数据库是否正在运行?
      • 我在构建 Graphql 服务器时需要使用 prisma 绑定,并且我正在使用 info 对象
      猜你喜欢
      • 2020-01-11
      • 1970-01-01
      • 2022-01-23
      • 1970-01-01
      • 1970-01-01
      • 2019-06-08
      • 1970-01-01
      • 1970-01-01
      • 2023-03-24
      相关资源
      最近更新 更多