Prisma 不等于 true,过滤不正确

Prisma NOT equal to true, filtering incorrectly

提问人:unicorn_surprise 提问时间:4/8/2022 最后编辑:Erwin Brandstetterunicorn_surprise 更新时间:11/17/2023 访问量:9021

问:

我正在运行一个 prisma postgres 过滤器查询,如下所示。但是,当我添加 NOT equal to 过滤器时,它最终会过滤所有内容并且不返回任何结果,而不会出现错误。我做错了什么?我有各种各样的条目,is_soundtrack false、true 和 null。所以我应该得到一些结果。我还注释了另一种使用方法,但是这也不起作用?NOT

我想显示所有结果,其中is_soundtrack不等于真实。

const songs = await this.db.song.findMany({
  where: {
    name: {
      contains: "test string,
    },
    // is_soundtrack: {
    //   not: true,
    // },
    NOT: {
      is_soundtrack: true,
    },
  },
  orderBy: {
    spotifyImg640: 'desc',
  }
})
PostgreSQL null prisma

评论

0赞 Michael McGreal 9/10/2022
过滤器可能对以下情况有用 prisma.io/docs/reference/api-reference/...isNot: true

答:

-1赞 Erwin Brandstetter 4/8/2022 #1

我想显示所有结果,其中is_soundtrack不等于真实。

因此,您需要:

is_soundtrack IS NOT TRUE

艺术

is_soundtrack IS DISTINCT FROM true

艺术

(is_soundtrack = false OR is_soundtrack IS NULL)

当前筛选器将仅覆盖 false,但排除 null 值。NOT is_soundtrack = true

在此处阅读手册。

评论

10赞 nerkn 8/3/2022
答案不是prisma查询,而是postgresql
0赞 IgnisDa 11/17/2023 #2

Prisma 转换为哪个不起作用。isNot: truewhere column <> true

这是我必须做的:

await prisma.questions.findMany({
    where: { OR: [{ keepHidden: false }, { keepHidden: null }] }
})