找不到续集列中的错误

时间:2015-09-14 20:15:23

标签: javascript mysql sequelize.js

我在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'

这没有意义,因为我在数据库中看到列应该是与sequ​​elize相关的东西

1 个答案:

答案 0 :(得分:1)

这不是语法的工作方式。您需要将列名与方向分开:

db.SalesPerson.find({ limit: 1, order: [['updated_at', 'DESC']] })...