gpt4 book ai didi

node.js - 使用 Prisma 2 从查询中排除用户密码

转载 作者:行者123 更新时间:2023-12-05 08:29:48 25 4
gpt4 key购买 nike

最近我开始做一个新项目来学习一些新技术(Prisma 2、REST api with Express 等)。不过,我遇到了一个问题。

我的应用程序有一个用户身份验证系统,用户模型有一个密码列。因此,当客户端请求用户时,后端会从数据库中选择所有列,包括密码(顺便散列一下)。

我尝试不选择 prisma findMany 上的密码列,如下所示:

await prisma.user.findUnique({
where: {
...
},
select: {
password: false
}
});

但是我收到了 prisma 的一个错误,说 select 应该至少包含一个真正的值。因此,我将 id: true 添加到选择中。我发出了一个 api 请求,我看到只有 id 为用户返回。

据我了解,prisma 希望我将我关心的所有列添加到选择对象中。但是,我需要来自用户的很多列,并且我正在做很多查询来获取用户,我不能每次都只写我需要的所有字段。

所以,我想问问您是否有合法的方法来做到这一点。

PS:我不认为“改用 rawQuery”作为解决方案。

最佳答案

唯一合法的方法是将 column: true 添加到您想要包含的列中。这里有排除列的请求,所以如果您可以在与您相关的请求中添加 👍 以便我们查看优先级,那就太好了。

https://github.com/prisma/prisma/issues/5042 https://github.com/prisma/prisma/issues/7380 https://github.com/prisma/prisma/issues/3796

关于node.js - 使用 Prisma 2 从查询中排除用户密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68140035/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com