我怎样才能在Sequelize中实现这一目标?
SELECT * FROM table where lower(column) LIKE ('abcd%');
我找不到一种方法来混合较低的功能与$ like
我找到了解决方案:
Table.findAll({ attributes: ['createdAt', 'col'], where: { $and:[ { createdAt:{ $between:[minDate, maxDate] } }, Sequelize.where( Sequelize.fn('lower', Sequelize.col('col')), { $like: 'abcd%' } ) ] } });
如果您使用的是PostGres,则可以使用$ iLike运算符搜索行(不要像您的问题一样询问列名)。
序列化文档
虽然它不能完全解决您的问题,但希望它能帮助那些寻找不区分大小写+ Sequelize的人,这使我来了。
Table.findAll({ where: { createdAt: { $between: [minDate, maxDate] }, someOtherColumn: { $like: '%mysearchterm%' } } })