【问题标题】:prisma2: How to filter by a non required field in prisma.user.findMany()?prisma2:如何通过 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 只允许必填字段进行过滤。有什么方法可以实现吗?

【问题讨论】:

    标签: javascript node.js graphql prisma prisma-graphql


    【解决方案1】:

    我认为可以通过可选字段进行过滤。 例如,这个 sn-p 对我有用。

    const [user] = await prisma.user.findMany({
          where: {
            emailToken: args.emailToken,
            emailTokenExpiry: {
              gte: Date.now() - 3600000,
            },
          },
        });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-22
      • 2018-12-28
      • 1970-01-01
      • 2019-11-29
      相关资源
      最近更新 更多