Sequelize.js 在beforeFind钩子中应用范围

Sequelize.js 在beforeFind钩子中应用范围,sequelize.js,Sequelize.js,在hook“BeforeFind”中,我试图根据find查询选项中属性的值应用一个范围 如果未在选项中设置该值,则应使用默认范围 我不能让它工作。这可能吗?如果可能,怎么可能 使用以下查询时,应使用defaultScope: testModel.findByPk(1) 使用以下查询时,应使用范围“筛选”: testModel.findByPk(1, {filter: 'theValue'}) 用户作用域“筛选”设置如下 function (value) { if(value)

在hook“BeforeFind”中,我试图根据find查询选项中属性的值应用一个范围

如果未在选项中设置该值,则应使用默认范围

我不能让它工作。这可能吗?如果可能,怎么可能

使用以下查询时,应使用defaultScope:

testModel.findByPk(1)
使用以下查询时,应使用范围“筛选”:

testModel.findByPk(1, {filter: 'theValue'})
用户作用域“筛选”设置如下

function (value) {  
  if(value)
    return {
       include: {otherModel},
       where: {field: value}
    }

  return {
    include: {otherModel},
  }
}
在hook函数中,我尝试了

this.scope({method: ['filtered',options.filter]});

我将Sequelize 5.8.5与NodeJS和mysql数据库一起使用

this.scope = this.scope({method: ['filtered',options.filter]});