如何解决PRISMA:获取更新方法中where子句的类型错误
遇到我需要帮助的特定Prisma ORM库错误。
我创建了一个迁移并将其推送到postgres数据库。
我已经为Prisma生成了客户端模型,并且能够使用create方法找到All并插入数据。
我遇到麻烦的是更新方法。
这是我的代码
app.post("/articles/:title",async (req: Request,res: Response) => {
const article = await prisma.article.update({
where: { title: req.params.title },data: { title: req.body.title,content: req.body.content },})
res.send('The article was posted sucessfully.' + article)
})
我收到以下错误,这使我认为客户端在使用where参数时找不到类型“ title”。
app.ts:65:14-错误TS2322:输入'{title:string; }”不能分配给“ ArticleWhereUniqueInput”类型。 对象文字只能指定已知的属性,而'title'在'ArticleWhereUniqueInput'类型中不存在。
65其中:{title:req.params.title}, ~~~~~~~~~~~~~~~~~~~~~~
node_modules / .prisma / client / index.d.ts:784:3
784其中:ArticleWhereUniqueInput
~~~~~
预期的类型来自属性“ where”,该属性在此处声明为“ Subset
还有其他人遇到过这个问题吗? 我尝试对数据库进行内部检查,以确保使用title和content字段按原样捕获数据库,然后再次生成客户端。
非常感谢 詹姆斯
解决方法
其中的字段
- 哪里
需要唯一。
如果您可以创建某些字段,那么说一下日期@unique(日期:DateTime!@unique),并将其用于您在upsert中的位置,我认为它可以工作(在本地测试)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。