Sequelize 'where in' 自动为 where 参数传递的 ID 添加单引号

Sequelize 'where in' automatically add single quotes to the IDs passed for where param

我想使用 Seqalzie 的 'where in' 函数从 table 获取所有数据。但不幸的是,数字数组被转换为导致错误结果的字符串。

Seqalazie 代码:

 mypromise(Requirement_idLists).then((res) => {  
        return res;
    })
    .then(async ids => {
        filteredIds = ids; // number array
        console.log(`Fetching Technologies` + filteredIds);
        return await SelectedTech.findAll({ where: { Requirement_id: [filteredIds] } })
       .then(async data => { 
            return data;
        });
    })

序列化日志:

 SELECT `Selected_tech_id`, `Requirement_id`, `Project_id`, `User_id`, `Technology`, 
`Technology_experience`, `Technology_level`, `Technology_version`, `Technology_id`, 
 `createdAt`, `updatedAt` FROM `SelectedTechnologiesTbs` AS `SelectedTechnologiesTbs` 
 WHERE `SelectedTechnologiesTbs`.`Requirement_id` IN ('1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16');

我想去掉单引号 ('1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16')

检查“ids”是否已经是一个数组。如果是,则 "{ Requirement_id: [filteredIds]}" 应该是 [{ Requirement_id: filteredIds }].