prisma2:如何通过 prisma.user.findMany() 中的非必填字段进行过滤?
Posted
技术标签:
【中文标题】prisma2:如何通过 prisma.user.findMany() 中的非必填字段进行过滤?【英文标题】:prisma2: How to filter by a non required field in prisma.user.findMany()? 【发布时间】:2020-09-09 17:20:21 【问题描述】:这是我的 prisma 数据模型:
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 只允许必填字段进行过滤。有什么方法可以实现吗?
【问题讨论】:
【参考方案1】:我认为可以通过可选字段进行过滤。 例如,这个 sn-p 对我有用。
const [user] = await prisma.user.findMany(
where:
emailToken: args.emailToken,
emailTokenExpiry:
gte: Date.now() - 3600000,
,
,
);
【讨论】:
以上是关于prisma2:如何通过 prisma.user.findMany() 中的非必填字段进行过滤?的主要内容,如果未能解决你的问题,请参考以下文章
prisma2 migrate 错误:数据库中的迁移比本地多