Node.js TypeError:userDB不是构造函数
我正在创建一个crud应用程序,使用nodejs sequelize express和xammp,正如DB一样,我已经成功地创建了一个连接并植入了一些虚拟数据。我设法创建了一个API,但当我试图通过postman创建数据时,我得到了一个错误“TypeError:userDB不是构造函数” 我已经附上我的代码在这里,请帮助如何解决这个问题Node.js TypeError:userDB不是构造函数,node.js,express,sequelize.js,mysql2,Node.js,Express,Sequelize.js,Mysql2,我正在创建一个crud应用程序,使用nodejs sequelize express和xammp,正如DB一样,我已经成功地创建了一个连接并植入了一些虚拟数据。我设法创建了一个API,但当我试图通过postman创建数据时,我得到了一个错误“TypeError:userDB不是构造函数” 我已经附上我的代码在这里,请帮助如何解决这个问题 controller code const userDB = require('../models/user'); //create and save
controller code
const userDB = require('../models/user');
//create and save new user
exports.create =(req, res)=>{
//validate request
if(!req.body){
res.status(400).send({
message:"Content can not be empty!"
});
return;
}
//create new user
const user =new userDB({
name:req.body.name,
email:req.body.email,
gender:req.body.gender,
status:req.body.status
})
//save user in the database
user
.save(user)
.then(data=>{
res.send(data)
})
.catch(err=>{
res.status(500).send({
message:err.message ||"Something went wrong while creating new user"
});
});
}
my model
'use strict';
const {
Model
} = require('sequelize');
module.exports = (sequelize, DataTypes) => {
class User extends Model {
/**
* Helper method for defining associations.
* This method is not a part of Sequelize lifecycle.
* The `models/index` file will call this method automatically.
*/
static associate(models) {
// define association here
}
};
User.init({
name: DataTypes.STRING,
email: DataTypes.STRING,
gender: DataTypes.STRING,
status: DataTypes.STRING
}, {
sequelize,
modelName: 'User',
});
return User;
};
my routes
const express = require('express');
const router = express.Router();
const services = require('../services/render');
const controller = require('../../controller/controllers');
/**
* @description Root Route
* @methodGET
*/
router.get('/', services.homeRoutes)
/**
* @description Root Route
* @methodGET /add users
*/
router.get('/add-user',services.addUsers)
/**
* @description Root Route
* @methodGET /update users
*/
router.get('/update-user', services.updateUsers)
//API
router.post('/api/users',controller.create);
router.get('/api/users',controller.find);
router.put('/api/users/:id',controller.update);
router.delete('/api/users/:id',controller.delete);
module.exports = router;
我本该换控制器的
const userDB = require('../models/user');
到
const userDB = require('../models/index');