学生表中有一个Sage,我想使用2017-Sage
查询学生的出生年份,但我不知道该怎么做,我试图这样做:
db.Student.findAll({
attributes: ['Sname','Ssex',[2017-Sequelize.col('Sage'),'Year of birth']],
where: {
Clno: {
$in: ['01311','10665']
}
}
})
但它出现了错误:
UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): TypeError: attr[0].indexOf is not a function
答案 0 :(得分:1)
您可能需要检查Sequelize.VIRTUAL
数据类型。
因此学生模型定义中可能需要这样的东西:
Student = sequelize.define('student', {
...
birthYear: {
type: Sequelize.VIRTUAL(Sequelize.INTEGER, "(2017 - `students`.age) as birthYear")
}
}
此处提供了更多示例:https://github.com/sequelize/sequelize/issues/7350