程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了无效的prisma.user.findUnique() 调用大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决无效的prisma.user.findUnique() 调用?

开发过程中遇到无效的prisma.user.findUnique() 调用的问题如何解决?下面主要结合日常开发的经验,给出你关于无效的prisma.user.findUnique() 调用的解决方法建议,希望对你解决无效的prisma.user.findUnique() 调用有所启发或帮助;

我似乎无法找到调用中的错误是什么

function findUser(req,res) {
    const username = req.body.username;
    
    prisma.user.findUnique({
        where: { username: username },SELEct: { username: true }
    })
    .then(data => {
        res.send({
            'userExists': data ? true : false
        })
    })
    .catch(err => {
        res.status(500).send({
           message: err.message || "Some error occurred while retrIEving user."
        })
    })
    .finally(async () => { await prisma.$disconnect()});

// scheR_115_11845@a.prisma

    datasource db {
      provIDer = "POSTGResql"
      url      = env("DATABASE_URL")
    }

    generator clIEnt {
      provIDer = "prisma-clIEnt-Js"
    }

    model User {
      ID Int @default(autoincrement()) @ID
      username String @unique
      password String
      salt String
      createdAt datetiR_115_11845@e @default(Now())
      @R_675_9531@edAt datetiR_115_11845@e @@R_675_9531@edAt
    }

解决方法

从 Prisma 方面一切正常。问题可能是 req.body.username如果未定义,您会收到 Invalid 'prisma.user.findUnique()' invocation
您必须为用户名添加验证,即

if {typeof username !== String} return res.status(404).send('invalid username')
,

查看您的代码后,您的 req.body 中似乎缺少用户名。我建议始终验证您要从 req.body 中提取的参数。我将您的代码重构为 es6。

这是您可以尝试的更新代码,

function findUser(req,res) {
    // Destructure username from req.body
    const { username } = req.body;

    if(username == null) throw new Error('Username undefined');
    
    // when property and value is same,you can write 'username' like below
    prisma.user.findUnique({
        where: { username },SELEct: { username: true }
    })
    .then(data => {
        res.send({
            'userExists': data ? true : false
        })
    })
    .catch(err => {
        res.status(500).send({
           message: err.message || "Some error occurred while retrieving user."
        })
    })
    .finally(async () => { await prisma.$disconnect()});

大佬总结

以上是大佬教程为你收集整理的无效的prisma.user.findUnique() 调用全部内容,希望文章能够帮你解决无效的prisma.user.findUnique() 调用所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。