'Prisma findMany with 2 fields from array

I am using Prisma and I have two field values that I want to search on

const requests = [{ id, cid }, { id, cid }, { id, cid }];

I want to search on both fields but for many.

for(request of requests) {
    prisma.user.findFirst({
        where: {
            id: request.id,
            cid: request.cid
        }
    });
}

Basically I want to do the above query but for many pairs at once. How to do that?



Solution 1:[1]

You are looking for in operator.


const requests = [{ id, cid }, { id, cid }, { id, cid }];

const ids = requests.map((request)=>request.id);
const cids = requests.map((request)=>request.cid);

const getUser = await prisma.user.findMany({
  where: {
    id: { in: ids },
    cid: { in: cids }
  },
})

Here is a link to in operator documentation

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Nurul Sundarani