prisma2:如何按 prisma.user.findMany() 中的非必填字段进行过滤?
prisma2: How to filter by a non required field in prisma.user.findMany()?
这是我的棱镜数据模型:
datasource db {
provider = "mysql"
url = env("DATABASE_URL")
}
generator client {
provider = "prisma-client-js"
}
model User {
id Int @default(autoincrement()) @id
email String @unique
name String
password String
emailVerified Boolean @default(false)
emailToken String?
emailTokenExpiry Float?
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
}
这里,emailToken
是可选字段。但我想按这个字段过滤。
像这样:
await prisma.user.findMany({where: {emailToken: emailToken}})
但是,prisma 只允许必填字段进行过滤。有什么办法可以实现吗?
我认为可以按可选字段进行过滤。
例如,这段代码对我有用。
const [user] = await prisma.user.findMany({
where: {
emailToken: args.emailToken,
emailTokenExpiry: {
gte: Date.now() - 3600000,
},
},
});
这是我的棱镜数据模型:
datasource db {
provider = "mysql"
url = env("DATABASE_URL")
}
generator client {
provider = "prisma-client-js"
}
model User {
id Int @default(autoincrement()) @id
email String @unique
name String
password String
emailVerified Boolean @default(false)
emailToken String?
emailTokenExpiry Float?
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
}
这里,emailToken
是可选字段。但我想按这个字段过滤。
像这样:
await prisma.user.findMany({where: {emailToken: emailToken}})
但是,prisma 只允许必填字段进行过滤。有什么办法可以实现吗?
我认为可以按可选字段进行过滤。 例如,这段代码对我有用。
const [user] = await prisma.user.findMany({
where: {
emailToken: args.emailToken,
emailTokenExpiry: {
gte: Date.now() - 3600000,
},
},
});