I'm new to nodejs. I've a MEAN stack project employee
, department
and user roles
models. While creating the employee
i'm checking for department
and userrole
const mongoose = require('mongoose');
const Employee = require('../models/employee');
const UserRoles = require('../models/userRole');
const Department = require('../models/department');
const _ = require('lodash');
exports.create_employee = (req, res, next) => {
Department.findById(req.body.deptID)
.then( dept => {
if( !dept ) {
return res.status(404).json({
message: 'Department not found'
});
}
return UserRoles.findById(req.body.userRoleID)
.then( role => {
if( !role ) {
return res.status(404).json({
message: 'User role not found'
});
}
const employee = new Employee({
_id: new mongoose.Types.ObjectId(),
name: req.body.name,
designation: req.body.designation,
doj: req.body.doj,
dob: req.body.dob,
bloodGroup: req.body.bloodGroup,
deptID: req.body.deptID,
userRoleID: req.body.userRoleID,
empCode: req.body.empCode
});
return employee.save();
})
})
.then(result => {
let ob = _.omit(result, ['__v']);
res.status(201).json({
createdEmployee: ob
});
})
.catch(err => {
res.status(500).json({
message: 'Internal Server Error'
});
});
};
When i try to create an employee with deptID
and userRoleID
which are not present in response am getting correct response as not found
. But in terminal am getting below error
I think am doing some wrong return please correct me!!