I have write the following code, code is working fine except it stores only name field in the mongoose schema.
var express = require('express');
var router = express.Router();
var bodyParser = require('body-parser');
var mongoose = require('mongoose');
var urlencodedParser = bodyParser.urlencoded({ extended: false });
mongoose.Promise = Promise;
mongoose.connect('mongodb://localhost/test');
var Schema = mongoose.Schema;
var studentSchema = new Schema({ name: String, department: String, rollno: Number, cgpa: Number });
var studentData = mongoose.model('studentData',studentSchema);
router.get('/student', function(req, res, next) {
res.render('student_form.ejs');
});
router.post('/student', urlencodedParser, function(req, res){
console.log(req.body);
var name = req.body.name;
var dept = req.body.department;
var rollno = req.body.rollno;
var cgpa = req.body.cgpa;
var content = new studentData(req.body);
content.rollno = rollno;
content.name = name;
content.department = dept;
content.cgpa = cgpa;
content.save(function(err, saveObject){
if(err){
// return handleError(err);
console.log(err);
return res.status(500).send();
} else {
res.json(saveObject);
}
});
});
router.get('/database', function(req, res) {
var logvalue = req.headers['log'];
if(logvalue && logvalue == 'info') {
console.log("request received for /database");
}
var select = req.query.select;
studentData.find({}, function (err, result) {
if (err) {
res.status(500).send();
} else {
if(result.length == 0) {
var responseObeject = undefined;
if(select && select == 'count') {
responseObject = {count: 0};
}
res.status(404).send(responseObject);
} else {
var responseObject = result;
if(select && select == 'count') {
responseObject = {count: result.length};
}
res.send(responseObject);
}
}
})
});
module.exports = router;
via Rohit Goyal
No comments:
Post a Comment