类型错误:userDB 不是构造函数

问题描述

我正在创建一个 crud 应用程序,使用 nodejs sequelize express 和 xammp 作为 DB,我设法创建了一个连接并播种了一些虚拟数据。我设法创建了一个 API,但是当我尝试通过邮递员创建数据时,我收到此错误“类型错误:userDB 不是构造函数

在这里附上了我的代码,请帮忙解决这个问题

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');