Reputation: 69
c:\Users\fc\Desktop\projector\node_modules\mongoose\lib\index.js:497 throw new mongoose.Error.MissingSchemaError(name); ^ MongooseError [MissingSchemaError]: Schema hasn't been registered for model "Employee". Use mongoose.model(name, schema) at new MissingSchemaError (c:\Users\fc\Desktop\projector\node_modules\mongoose\lib\error\missingSchema.js:22:11) at Mongoose.model (c:\Users\fc\Desktop\projector\node_modules\mongoose\lib\index.js:497:13) at Object.
Blockquote
const express=require('express');
var router=express.Router();
const mongoose=require('mongoose');
//var Employee=require('../models/employee.model');
var Employee = mongoose.model('Employee');
router.get('/', (req,res)=>{
res.render('C:/Users/fc/Desktop/projector/views/employee/addOrEdit.hbs', {
viewTitle: "Insert Radio Employee Data"
})
});
router.post('/', (req,res)=>{
//before insertRecord Function below console.log(req.body); executed
// console.log('New Employee Data has been Received!');
// console.log(req.body);
insertRecord(req, res);
});
// insertRecord function is use to insert data in mongoDB
function insertRecord(req, res){
var 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,doc)=>{
if(!err){
res.redirect('employee/list');
}
else{
console.log('An Error has been found:', err);
}
})
}
router.get('/list', (req,res)=>{
res.json('from list');
});
// here one function is going to be exported
module.exports=router;
Upvotes: 0
Views: 1039
Reputation: 2679
You are missing the mongoose schema as the error says. You are trying to create a model but there is no schema for it. Here is an example of how to create mongoose schema:
const express = require('express');
var router = express.Router();
const mongoose = require('mongoose');
//var Employee=require('../models/employee.model');
/**
* Here is the mongoose schema .
*/
const employeeSchema = new mongoose.Schema({
fullName: { type: String, default: '' },
email: { type: String, default: '' },
mobile: { type: String, default: '' },
city: { type: String, default: '' }
});
/**
* Create model using mongoose schema.
*/
var Employee = mongoose.model('Employee', employeeSchema);
router.get('/', (req, res) => {
res.render('C:/Users/fc/Desktop/projector/views/employee/addOrEdit.hbs', {
viewTitle: "Insert Radio Employee Data"
})
});
router.post('/', (req, res) => {
//before insertRecord Function below console.log(req.body); executed
// console.log('New Employee Data has been Received!');
// console.log(req.body);
insertRecord(req, res);
});
// insertRecord function is use to insert data in mongoDB
function insertRecord(req, res) {
var 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, doc) => {
if (!err) {
res.redirect('employee/list');
}
else {
console.log('An Error has been found:', err);
}
})
}
router.get('/list', (req, res) => {
res.json('from list');
});
// here one function is going to be exported
module.exports = router;
Upvotes: 0