Javascript 无法读取属性';创建';未定义的”;Sequelize节点js中出错

Javascript 无法读取属性';创建';未定义的”;Sequelize节点js中出错,javascript,node.js,sequelize.js,Javascript,Node.js,Sequelize.js,我正在使用node、sequelize、migration和postgre。我已经在“models”文件夹的文件中定义了我的模型,但是每次我尝试运行我的端点时,都会出现错误 “无法读取未定义的属性“create” 我的应用程序结构是: -bin www -config config.js -models training.js -public -routes -views 下面是我的代码: 我的模型(training.js) 和我的路线文件: var express = req

我正在使用node、sequelize、migration和postgre。我已经在“models”文件夹的文件中定义了我的模型,但是每次我尝试运行我的端点时,都会出现错误 “无法读取未定义的属性“create”

我的应用程序结构是:

-bin
  www
-config
   config.js
-models
   training.js
-public
-routes
-views
下面是我的代码: 我的模型(training.js)

和我的路线文件:

var express = require('express');
var router = express.Router();
const bodyParser = require('body-parser');
const { check, validationResult } = require('express-validator');
const  Sequelize  = require('sequelize');
const db = require('.././config/config');
const Training = require('.././models').Training;



/* GET home page. */
router.get('/', function(req, res, next) {
  res.render('training', { title: 'Register' });
});

router.post('/',[
  check('name').isLength({ min: 1 }).withMessage('First is required').trim().escape(),

  check('lastname').isLength({ min: 1 }).withMessage('Lastname is required').trim().escape(),

  check('email').isEmail().withMessage('That email doesn‘t look right').bail().trim().normalizeEmail(),

  check('number').isInt().withMessage('Number is Invalid'),

  check('address').isLength({ min: 1 }).withMessage('adddress is required').trim().escape()


], function(req, res, next) {

  const errors = validationResult(req);
  if (!errors.isEmpty()) {
    return res.status(422).jsonp(errors.array());
  } else {

    let details = { 
      name : req.body.name,  
        lastname : req.body.lastname,  
        email : req.body.email, 
        number :req.body.number,
        gender :req.body.gender,
        course :req.body.course,
         address : req.body.address

       }


    db.Training.create({

         firstname : name,
              lastname : lastname,
               email : email,
                gender :gender,
                course : course,
                 address : address
    })
    .then(console.log('saved succesfully'))
  .catch(err => console.error(err.message))



  }

});





module.exports = router;


您不需要配置来访问模型。导入
const db=require('.././config/config')是不需要的

由于您已使用此行导入了
培训
const Training=require('.././models')。培训,您只需继续使用模型,如下所示:

Training.create({

     firstname : name,
     lastname : lastname,
     email : email,
     gender :gender,
     course : course,
     address : address
})
您应该注意的另一个问题是,您正在create函数中分配未定义的变量,它应该是
details.name,details.lastname…

Training.create({

     firstname : name,
     lastname : lastname,
     email : email,
     gender :gender,
     course : course,
     address : address
})