繁体   English   中英

我如何选择 jsonb[] 包含 prisma 数组中的字符串之一?

[英]How cloud I select the jsonb[] contains one of string in array by prisma?

例如,我有如下数据集:

ID 团体
1个 ['A']
2个 ['B']
3个 ['A', 'C']
4个 ['B', 'D']
5个 ['C']
6个 ['D']
7 ['A', 'B']

我希望选择组包含['A' | 'B'] ['A' | 'B'] 结果必须是 id [1, 2, 3, 4, 7]

原始 sql 呈现为(groups)::jsonb?| array['A', 'B'] (groups)::jsonb?| array['A', 'B']

我使用如下的 ORM 方式:

const chosen = await prisma.table.findMany({
    where: {
      groups: {
          array_contains: ['A', 'B']
      }
    }
})

但结果我只得到了id:7

这不是我想要的...

我如何通过 ORM 实现我的理论?

解决了:

使用 OR 联合条件。

const chosen = await prisma.table.findMany({
    where: {
        OR: [
            {
                groups: {
                    array_contains: ['A']
                }
            },
            {
                groups: {
                    array_contains: ['B']
                }
            },
        ]
    }
})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM