web-dev-qa-db-ja.com

SequelizeでiLike演算子を使用して大文字と小文字を区別しないクエリにする方法

データベースの管理にPostgreSQLと共にSequelizeを使用しています。
大文字と小文字を区別しない検索クエリを実行したい。私がそれをグーグルで調べたとき、何人かの人々は私がそうするために「iLike」演算子を使うことができると言いました。私はこの方法を実装しようとしました:

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

ここで、genreNameは文字列です。しかし、私はこのエラーを受け取り続けます:

エラー:無効な値{'$ iLike': 'art'}

誰かがsequelizeでiLikeを使用する正しい方法を知っていますか?仲間に感謝します。 :)

6
Ahmed Ghrib

Sequelize.Opを使用する必要があります。

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

部分的なクエリを実行する場合は、genreNameの前または後に%を追加することを忘れないでください。

ドキュメントを見る here>

10
PhilippeAuriach