sequelize + mysql + express를 사용하여 간단한 프로젝트를 개발 중이며 간단한 문제로 인해 막혔습니다. 내 모델을 사용하여 findById와 같은 기능을 실행할 수 없습니다.내 sequelize 모델에서 아무 작업도 수행 할 수 없습니다
다음 코드에서 "db.usuario.findById (...). exec는 함수가 아닙니다."메시지가 나타납니다. 나는 초보자입니다.
이
내 모델 :module.exports = function(sequelize, DataTypes) {
return sequelize.define('usuario', {
id_Usuario: {
type: DataTypes.STRING(18),
allowNull: false,
primaryKey: true
},
tipo: {
type: DataTypes.STRING(1),
allowNull: false
},
nome: {
type: DataTypes.STRING(45),
allowNull: false
},
matricula: {
type: DataTypes.STRING(45),
allowNull: false,
unique: true
},
telefone: {
type: DataTypes.STRING(15),
allowNull: true
},
cpf: {
type: DataTypes.STRING(11),
allowNull: false,
unique: true
},
email: {
type: DataTypes.STRING(45),
allowNull: false,
unique: true
},
senha: {
type: DataTypes.STRING(45),
allowNull: false
},
instituicaoEnsino: {
type: DataTypes.STRING(45),
allowNull: false
}
}, {
tableName: 'usuario'
});
};
그리고 이것은 내 컨트롤러 :
이var db = require('../db');
exports.user_edit_get = function(req, res, next) {
async.parallel({
user: function(callback) {
db.usuario.findById(req.params.id)
.exec(callback)
},
}, function(err, results) {
if (err) { return next(err); }
//Successful, so render
res.render('usuarioDetalhes', { user });
});
}
내 db.js 파일 :
var Sequelize = require('sequelize');
const sequelize = new Sequelize('mydb', 'root', '[email protected]', {
host: 'localhost',
port: '3306',
dialect: 'mysql',
pool: {
max: 5,
min: 0,
idle: 10000
},
});
// Connect all the models/tables in the database to a db object,
//so everything is accessible via one object
const db = {};
db.Sequelize = Sequelize;
db.sequelize = sequelize;
//Models/tables
db.usuario = require('./models/usuario.js')(sequelize, Sequelize);
module.exports = db;