egg.js 24.11sequelize模型-查询多个和获取器
Posted 2019ab
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了egg.js 24.11sequelize模型-查询多个和获取器相关的知识,希望对你有一定的参考价值。
查询多个
async index() {
// 拿到数据
let result = {};
// 查询多个
// result = await this.app.model.User.findAll();
// 查询多个并统计
result = await this.app.model.User.findAndCountAll();
this.ctx.body = {
msg:'ok',
data:result
}
}
如下图所示
获取器
// 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: {
type:DATE,
get(){
const val = this.getDataValue('created_at');
return (new Date(val)).getTime();
}
},
updated_at: DATE
},{
timestamps: true, // 是否自动写入时间戳
tableName: 'user', // 自定义数据表名称
});
return User;
};
以上是关于egg.js 24.11sequelize模型-查询多个和获取器的主要内容,如果未能解决你的问题,请参考以下文章
egg.js 24.12sequelize模型-where操作符
egg.js 24.13sequelize模型-字段限制排序分页