Может кто-нибудь мне помочь.Я уже пытался использовать ответы, приведенные в аналогичном проекте, но мне не удалось решить мою проблему. Спасибо за помощь
У меня много файлов:
Файл контроллеров: Ошибкапроисходит здесь:
EmployeeControllers.js:
const express = require('express');
const mongoose = require('mongoose');
require('../models/employee.model');
const router = express.Router();
let Employee = mongoose.model('Employee');
router.get('/', (req,res)=>{
res.render('employee/addOrEdit',{
viewTitle: "Insert Employee"
});
});
router.post('/', (req,res)=> {
let employee = new Employee();
employee.fullName = req.body.fullName;
employee.email = req.body.email;
employee.mobile = req.body.mobile;
employee.city = req.body.city;
employee.save((err) => {
if(!err){ res.redirect('employee/list') }
else{console.log('Error during record insertion : '+err ) }
})
console.log(typeof req.body); // i try to look at the type
console.log(req.body);
});
router.get('/list', (req,res)=>{
res.json('Simple Test')
});
module.exports = router;
Вывод после отправки формы: {}.
Вот остальная часть файла, я знаю, что это слишком много:
Index.js:
require('./models/db') ;
const express = require('express');
const path = require('path');
var exphbs = require('express-handlebars');
const bodyParser = require('body-parser');
const employeeController = require('./controllers/employeeControllers');
var app = express();
var urlencodedParser = bodyParser.urlencoded({extended: false});
app.use(urlencodedParser);
app.use(bodyParser.json());
app.use('/employee', employeeController);
app.set('views', path.join(__dirname, '/views/') );
app.engine('hbs', exphbs({extname:'hbs', defaultLayout: 'mainLayout', layoutsDir:__dirname + '/views/layouts/'}));
app.set('view engine', 'hbs');
app.listen(3000, () =>{
console.log('Express server stard at port : 3000');
});
Файлы моделей: подключение к Mongoose и схема мангуста
db.js:
const mongoose = require('mongoose');
mongoose.connect('mongodb://localhost:27017/EmployeeDB', {useNewUrlParser: true},(err)=>{
if(!err){console.log('Connection Succceeded')}
else{console.log('Connection not found')}
});
require('./employee.model');
Employee.model.js:
enter code here
var mongoose = require('mongoose');
var employeeSchema = new mongoose.Schema ({
fullName:{type: String },
email : {type: String },
mobile : {type: String },
city : {type: String }
});
let Employee = module.exports = mongoose.model('Employee', employeeSchema)
Просмотр папок:
Папка макета:
Сотрудник: addOrEdit.hbs
<h3>{{viewTitle}} </h3> <form action="/employee" method="post" > <div class="form-group"> <label >Full Name</label> <input type="text" class="form-control" class="fullName" placeholder="Full Name"> </div> <div class="form-group"> <label>Email</label> <input type="text" class="form-control" class="email" placeholder="email"> </div> <div class="form-row"> <div class="form-group col-md-6"> <label >Mobile</label> <input type="text" class="form-control" class="mobile" placeholder="mobile"> </div> <div class="form-group col-md-6"> <label >City</label> <input type="text" class="form-control" class="city" placeholder="city"> </div> </div> <div class="form-group"> <button type="submit" class="btn btn-info"><i class="fa fa-database"></i> Submit</button> </div> </form>