我在sequelize中创建了以下模型:
export function initialize(sequelize: Sequelize.Sequelize, dataTypes: Sequelize.DataTypes): SalesPerson.Model {
var salesPersonModel = sequelize.define<SalesPerson, SalesPerson.Pojo>('salesPerson', {
ownerId: { type: dataTypes.STRING, allowNull: false, field: 'owner_id' },
firstName: { type: dataTypes.STRING, allowNull: false, field: 'first_name' },
lastName: { type: dataTypes.STRING, allowNull: false, field: 'last_name' },
email: { type: dataTypes.STRING, allowNull: false }
}, {
underscored: true,
tableName: 'sales_persons'
});
salesPersonModel.removeAttribute('id');
return salesPersonModel;
}
启动sequelize.sync()
后,表格被正确创建。问题是,当我这样做一个查询时:
db.SalesPerson.find({ limit: 1, order: [['updated_at DESC']] })...
我收到以下错误:
Unhandled rejection SequelizeDatabaseError: ER_BAD_FIELD_ERROR: Unknown column 'salesPerson.updated_at DESC' in 'order clause'
这没有意义,因为我在数据库中看到列应该是与sequelize相关的东西
答案 0 :(得分:1)
这不是语法的工作方式。您需要将列名与方向分开:
db.SalesPerson.find({ limit: 1, order: [['updated_at', 'DESC']] })...