sequelize中model的使用
Posted tinghaiku
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sequelize中model的使用相关的知识,希望对你有一定的参考价值。
/* jshint indent: 2 */ let MD5 = require(‘crypto‘).createHash(‘md5‘); module.exports = function (sequelize, DataTypes) { return sequelize.define(‘Account‘, { id: { type: DataTypes.INTEGER(11), allowNull: false, primaryKey: true, autoIncrement: true }, name: { type: DataTypes.STRING(255), allowNull: true, // 从数据库查询到数据,经过以下处理后给用户 get() { return "dear " + this.getDataValue(‘name‘); } }, age: { type: DataTypes.INTEGER(11), allowNull: true, // 数据校验返回异常 customFunc自定义的校验 validate: { max: { args: 100, msg: "age is larger" }, min: { args: 1, msg: ‘age is small‘ }, customFunc(val) { if (val === 50) { console.log(‘dddd‘); throw new Error(‘Only even values are allowed!‘) } } } }, passwd: { type: DataTypes.STRING(255), allowNull: true, // 当插入或者修改时,经过以下处理后再写入数据库 set(val) { val = MD5.update(val).digest(‘hex‘); this.setDataValue("passwd", val); } } }, { tableName: ‘account‘, // setterMethods,getterMethods这个是相当与在存取时都添加了changeName这个虚拟字段 setterMethods: { changeName(val) { return this.setDataValue(‘name‘, val.slice(0, -1)); } }, getterMethods: { changeName() { return this.name + ‘changeName‘; } } }); };
以上是关于sequelize中model的使用的主要内容,如果未能解决你的问题,请参考以下文章