1 . 配置timestamps: true的情况
createdAt: { type: Sequelize.DATE, allowNull: false, get() { // 不做判断时候在更新数据时候会报异常 // 转换时间戳 return this.getDataValue('createdAt') && this.getDataValue('createdAt').getTime() }, set(val) { return this.setDataValue('createdAt', val) } }, updatedAt: { type: Sequelize.DATE, allowNull: false, get() { // 转换时间戳 return this.getDataValue('updatedAt').getTime() }, set(val) { return this.setDataValue('updatedAt', val) } }弊端
查询之后我们想要返回给用户的名称往往不想要createdAt和updatedAt,而是我们自己定义的
2 . 配置timestamps: false的情况
createTime: { type: Sequelize.DATE, // allowNull: false, defaultValue: Sequelize.NOW, field: 'create_time', get() { return this.getDataValue('createTime').getTime() } }, updateTime: { type: Sequelize.DATE, // allowNull: false, defaultValue: Sequelize.NOW, field: 'update_time', get() { return this.getDataValue('updateTime').getTime() } }, 注意点 : 在更新时候对updateTime要及时更新
UserModel.update( { ... updateTime: new Date() // 及时更新时间 }, { where: { ... } });