Sequelize.js 如何使用sequelize设置动态where条件

Sequelize.js 如何使用sequelize设置动态where条件,sequelize.js,Sequelize.js,我必须创建一个动态sequelize查询,它可以有1到3个条件,第一个是like查询,第二个是完全匹配的。用户可以选择任何组合。我似乎无法设置它的where条件以使其正常工作。在使用它之后,它工作了 我使用了typescript,所以如果不使用,请进行调整 let whereClause = {}; if (searchCriteria.documentName) { whereClause['documentName'] = { $like: '%' + searchCriter

我必须创建一个动态sequelize查询,它可以有1到3个条件,第一个是like查询,第二个是完全匹配的。用户可以选择任何组合。我似乎无法设置它的where条件以使其正常工作。

在使用它之后,它工作了

我使用了typescript,所以如果不使用,请进行调整

let whereClause = {};

if (searchCriteria.documentName) {
  whereClause['documentName'] = {
    $like: '%' + searchCriteria.documentName + '%'
  };
}

if (searchCriteria.language) {
  whereClause['targetLanguage'] = searchCriteria.language;
}

if (searchCriteria.department) {
  whereClause['departmentName'] = searchCriteria.department;
}

let documents = await this._model.DocumentTranslation.findAll({
  include: [{
    model: this._model.Document
  }],
  order: [
    ['createdAt', 'ASC']
  ],
  where: whereClause
});