prisma.exists 方法不适用于 mongodb Atlas
Posted
技术标签:
【中文标题】prisma.exists 方法不适用于 mongodb Atlas【英文标题】:prisma.exists method not working with 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
【问题讨论】:
【参考方案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 对象以上是关于prisma.exists 方法不适用于 mongodb Atlas的主要内容,如果未能解决你的问题,请参考以下文章