Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js TypeError:userDB不是构造函数_Node.js_Express_Sequelize.js_Mysql2 - Fatal编程技术网

Node.js 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

我正在创建一个crud应用程序,使用nodejs sequelize express和xammp,正如DB一样,我已经成功地创建了一个连接并植入了一些虚拟数据。我设法创建了一个API,但当我试图通过postman创建数据时,我得到了一个错误“TypeError: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');