问题描述
我正在尝试实现解析器,该解析器将检查具有给定登录名的用户是否存在于数据库中。但是我在prisma中的where选择器上遇到了困难。
所以我的类型是用户:
type User {
UserID: ID! @id
Login: String! @unique
Password: String!
Phone: String!
Mail: String!
Comments: [Comment!]
@relation(
name: "AllCommentsOfUser"
fields: [UserID]
references: [CommentID]
)
Likes: [Like!]
@relation(name: "AllLikesOfUser",fields: [UserID],references: [LikeID])
createdAt: DateTime! @createdAt
}
user(where: UserWhereUniqueInput!): User
input UserWhereUniqueInput {
UserID: ID
Login: String
}
在登录功能中,我正在尝试检查具有给定登录名的用户是否存在于我的数据库中:
async login(parent,{ email,password,username },ctx,info) {
const user = await ctx.prisma.user({ username }); // Option 1
const user = await ctx.prisma.user({ Login: username }); // Option 2
if (!user) {
throw new Error(`No such user found for email: ${username}`);
}
const valid = await bcrypt.compare(password,user.password);
if (!valid) {
throw new Error("Invalid password");
}
return {
token: jwt.sign({ userId: user.id },process.env.JWT_SECRET),user,};
},},
每次我都出现以下错误消息:
您为User上的where选择器提供了无效的参数。请提供一个唯一的字段和值。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)