Prisma:如何找到与 id 列表匹配的所有元素?
Posted
技术标签:
【中文标题】Prisma:如何找到与 id 列表匹配的所有元素?【英文标题】:Prisma : how can I find all elements that match an id list? 【发布时间】:2021-12-19 17:31:48 【问题描述】:我正在将 Prisma 与 NextJs 一起使用。
在我的 API 中,我向后端发送一个数字列表,这些数字对应于我的数据库中的对象 ID。
例如,如果我收到列表 [1, 2, 12]
,我想返回 id 为 1、2 或 12 的对象
这是更复杂的查询的一部分(排序/计数/...),但我在第一步阻止的是获取元素列表
到目前为止,我有这个:
import PrismaClient, Prisma from '@prisma/client'
const prisma = new PrismaClient()
export default async function handler(req, res)
if (req.method !== 'POST')
res.status(400).send( message: 'Only POST requests allowed for this route' )
else
const signes_id = req.query
const signes_array = signes_id.split(",").map(function(item)
return parseInt(item)
)
console.log(signes_array)
const ret = await prisma.signe.findMany(
where:
id: Number(signes_array),
)
res.status(200).send(ret)
这不起作用,因为 Number
需要一个 int,而不是一个 int 数组
如何编写查询,例如它返回所需的对象数组? 我该如何处理不匹配的 id?
【问题讨论】:
【参考方案1】:您可以使用in
运算符在findMany
中通过多个id
进行查询。
例子:
const ret = await prisma.signe.findMany(
where:
id: in: [1, 2, 12] ,
)
更多详情,请访问prisma client reference。
【讨论】:
以上是关于Prisma:如何找到与 id 列表匹配的所有元素?的主要内容,如果未能解决你的问题,请参考以下文章
NestJS-Prisma,如何编写与 prisma 一对多类型匹配的 DTO
如何在 prisma 中使用 findUnique 和 post id 和 prodCode 来查找帖子
如何在 Mongoose 中找到与数组字段的最后一个元素与给定查询值匹配的所有文档?