像数组中的任何续集

时间:2019-06-05 12:29:16

标签: sequelize.js sql-like

我正在尝试使用sequelize执行findall,在这里我使用$ like。

由于我需要使用$ like评估的字符串来自表单,并且更改了值或数字,因此我发送了序列化数组。

因此,我想对数组中的所有值使用$ like。

但是我还不能使它工作。

var conditions =Array[String];
   for (var element in req.query.HotelID) {
     console.log(req.query.HotelID[element])
     conditions.push(
       req.query.HotelID[element]
     );
   }
   console.log('in loop')
   console.log(conditions)

   db.hotelamadeus.findAll({

     where: {$and:{ Name: req.query.hotel, HotelID :{[Op.like]: { [Op.any]: conditions}}}},
     attributes: ['HotelID','Name'],


   })

字符串在req.query.HotelID中。

数组条件创建良好。

我想在表中找到将条件映射到“名称”和“酒店ID”字段上的值。

因此,我尝试执行许多帖子中所见的$ like $ any,但是我不确定sequelize是否可以处理它,因为它不起作用。

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

为什么不创建一个快速的实用函数,该函数使用数组和列名并遍历数组,并为此组合[Op.like]和[Op.or]?如果您使用like,则无论如何都需要在所需的位置附加%,这样您就可以做些操作