Как использовать оператор iLike с Sequelize для выполнения запросов без учета регистра

3

Я использую Sequelize вместе с PostgreSQL в управлении моей базой данных.
Я хотел бы выполнить запрос, нечувствительный к регистру. Когда я разобрался, некоторые сказали, что я могу использовать оператора iLike для этого. Я попытался реализовать этот способ:

var getRadiosByGenre = function(Radio,Genre,genreName){
    Genre.findOne({where:{name: { $iLike: genreName}}})}

где genreName - это строка. Но я продолжаю получать эту ошибку:

Ошибка: недопустимое значение {'$ iLike': 'art'}

Кто-нибудь знает правильный способ использования iLike с sequelize? Спасибо товарищи (и). :)

Теги:
sequelize.js
case-insensitive

1 ответ

4
Лучший ответ

Вы должны использовать Sequelize.Op:

var getRadiosByGenre = function(Radio,Genre,genreName) {
  Genre.findOne({
    where: {
      name: {
        [Sequelize.Op.iLike]: genreName
      }
    }
  });
}

Не забудьте добавить % до или после вашего genreName если вы хотите сделать частичный запрос.

Смотрите документы здесь>

  • 1
    Спасибо, за справку, но это как именно реализовать это: var getRadiosByGenre = function (Radio, Genre, genreName) {Genre.findOne ({где: {name: {[Op.iLike]: '%' + genreName} }})
  • 2
    Да, как я уже сказал, вы должны добавить знак%, если это необходимо! Рад, что смог помочь

Ещё вопросы

Сообщество Overcoder
Наверх
Меню