egg.js 24.9sequelize模型-批量新增和修改器

Posted 2019ab

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了egg.js 24.9sequelize模型-批量新增和修改器相关的知识,希望对你有一定的参考价值。

批量新增

async create() {
    //   await this.app.model.User.create({
    //       username:'张三',
    //       password:'123456',
    //       sex:'男'
    //   });
    // 批量新增 bulkCreate
    let res = await this.app.model.User.bulkCreate([{
          username:'张3',
          password:'123456',
          sex:'男'
      },{
          username:'张1',
          password:'12',
          sex:'男'
      },{
          username:'张2',
          password:'777',
          sex:'男'
      }]);
      // 成功
      this.ctx.body = res;
 }

// 修改器

// app / model / user.js

'use strict';
module.exports = app => {
  const { STRING, INTEGER, DATE ,ENUM } = app.Sequelize;
  // 配置(重要:一定要配置详细,一定要!!!)
  const User = app.model.define('user', {
    id: { type: INTEGER(20).UNSIGNED, primaryKey: true, autoIncrement: true },
      username: { type: STRING(30), allowNull: false, defaultValue: '', comment: '用户名称', unique: true},
      password: { 
          type: STRING(200),
          allowNull: false, 
          defaultValue: '' ,
          // 修改器 可以很方便的处理数据
          set(val){
              let hash = val + '123456';
              this.setDataValue('password',hash);
          }
      },
      avatar_url: { type: STRING(200), allowNull: true, defaultValue: '' },
      sex: { type: ENUM, values: ['男','女','保密'], allowNull: true, defaultValue: '男', comment: '用户性别'},
      created_at: DATE,
      updated_at: DATE
  },{
    timestamps: true, // 是否自动写入时间戳
    tableName: 'user', // 自定义数据表名称
 });

  return User;
};

下图是我们利用数据库迁移生成的数据


好了,感谢大家观看,我们下期再见

以上是关于egg.js 24.9sequelize模型-批量新增和修改器的主要内容,如果未能解决你的问题,请参考以下文章

egg.js 24.15sequelize模型-删除和批量删除

egg.js 24.8sequelize模型-新增

egg.js 24.10sequelize模型-查询单个

egg.js 24.12sequelize模型-where操作符

egg.js 24.13sequelize模型-字段限制排序分页

egg.js 24.14sequelize模型-修改和限制字段