Как найти всех пользователей, у которых есть электронные письма в массиве в prisma, используя Typescript?

#javascript #typescript #prisma

Вопрос:

Привет, извините за запутанный вопрос. В принципе, я хочу найти всех пользователей, у которых есть электронные письма, включенные в массив.

Например, у меня есть массив:

const arr = ['test@gmail.com', 'test2@gmail.com']

и у меня есть моя модель

 model User {
  id                Int
  username          String
  name              String
  email             String
}
 

Я хочу сделать что-то вроде

 const data = await prisma.user.findMany({
     where : {
          email: in arr
    },
     select : {
         id: true
    }
});
 

Я долгое время пытался найти обходной путь для этого.

Комментарии:

1. Почему вы ищете обходной путь? Просто используйте тот подход , о котором вы думали

2. Да, но я не знаю правильного синтаксиса для этого. Мой приведенный выше код не работает.

3. Вот почему я связал документацию с правильным синтаксисом в своем комментарии.

4. О, прости. Я не заметил, может быть, из-за недосыпа лол. Большое вам спасибо!

Ответ №1:

Это синтаксис in оператора в Prisma.

 const arr = ['test@gmail.com', 'test2@gmail.com']

const data = await prisma.user.findMany({
     where : {
          email: {in: arr}
    },
     select : {
         id: true
    }
});

 

Вы можете прочитать больше в Справке о клиенте Prima в документах.