Search code examples
node.jsdatabaseprismaprisma2

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 together 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

  • I recently encounter this problem and here is my solution:

    const conditionArray = [{cd1: 'a', cd2: 'b'}, {cd1: 'c', cd2: 'd'}];
    await prisma.table.findMany({
    where:{
      OR: conditionArray.map(c => ({AND: [{cd1: c.cd1}, {cd2: c.cd2}]})
    },
    select {...what_you_want_to_take}
    })
    

    My response is late but I hope it will help others