版权声明:本文为博主原创文章,未经博主允许不得转载。          https://blog.csdn.net/xreztento/article/details/90269238        
             Lifecycle
Sails Model的生命周期主要是值对于记录操作的生命周期:
 create->update->destroy
 Lifecycle callbacks指的是在上述生命周期到达或完成时的hook方法,包括以下内容:
Callbacks on
create
- beforeCreate: fn(recordToCreate, proceed)
 - afterCreate: fn(newlyCreatedRecord, proceed)
 Callbacks on
update
- beforeUpdate: fn(valuesToSet, proceed)
 - afterUpdate: fn(updatedRecord, proceed)
 Callbacks on
destroy
- beforeDestroy: fn(criteria, proceed)
 - afterDestroy: fn(destroyedRecord, proceed)
 
该部分内容非常好理解,主要可以用于默认值生成、密码加盐、额外的关联计算操作等,举例如下:
npm install node-uuid --save npm install crypto --save  User Model:
const crypto = require('crypto');  const uuid = require('node-uuid');  module.exports = {   primaryKey: 'uuid',   attributes: {     uuid: {       type: 'string',       required: true,     },     username: {       type: 'string',       required: true,       allowNull: false,       unique: true,     },     password: {       type: 'string',       required: true,       allowNull: false,     },    },   beforeCreate: function (valuesToSet, proceed) {     let md5 = crypto.createHash('md5');     valuesToSet.uuid = uuid.v4();     valuesToSet.password = md5.update(valuesToSet.password).digest('hex');     return proceed();   }  };  上面代码实现在创建前给uuid赋默认值和计算密码md5值进行保存。
 数据库的表结构如下:
通过以下url创建一个新的用户记录:
http://127.0.0.1:1337/user/create?username=admin&password=123456&uuid=auto
 查看结果如下:

文章来源: https://blog.csdn.net/xreztento/article/details/90269238