繁体   English   中英

如何通过具有棱镜的嵌套对象属性数组过滤表?

[英]How can I filter a table by a nested array of objects property with prisma?

所以我有一个带有 json 字段的表,该字段有一个嵌套字段,它是一个对象数组。 我正在尝试按嵌套对象数组过滤行,以基本上获取嵌套对象数组包含具有特定值的对象的行。 我一直得到 0 个结果。 数据库是 PostgreSQL。 任何帮助将不胜感激。

所以表这个模式:

model Requests {
  ...,
 properties  Json?
}

保存的属性格式如下:

{
   multiple: true,
   receivers: [
   {
      name: '',
      id: 1,
      status: 'Pending'
    },
    {
      name: '',
      id: 5,
      status: 'Pending'
    },
   ]
}

这是我的查询:

const requests = await prisma.requests.findMany({
   where: {
        AND: [
            {
                'properties': {
                    path: ['receivers', '$[*].id'],
                    array_contains: 5,
                }
            },
            {
                'properties': {
                    path: ['receivers', '$[*].transactionStatus'],
                    array_contains: 'Pending'
                }
            }
        ]
    }
})

它不起作用,因为您使用的是 PostgreSQL,而 Prisma 文档说:

仅 MySQL 支持过滤数组中的对象键值

暂无
暂无

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

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