Prisma 不等于 true,过滤不正确

Prisma NOT equal to true, filtering incorrectly

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

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

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

I'm wanting to show all results, where is_soundtrack does not equal true.

所以你需要:

is_soundtrack IS NOT TRUE

或:

is_soundtrack IS DISTINCT FROM true

或:

(is_soundtrack = false OR is_soundtrack IS NULL)

当前过滤器 NOT is_soundtrack = true 只会覆盖假值,但会排除空值。

Read the manual here.