javascript - Node Mongoose not saving post request -


i struggling node save post request mongodb, not getting errors thrown, nothing being stored in database.

modules.js

var mongoose      = require ( 'mongoose' ), schema        = mongoose.schema, modulesschema = new schema (     {         moduleid: number,         modulename: string,         moduleleader: string     }, { _id: false } );  module.exports = mongoose.model ( 'module', modulesschema ); 

server.js

var express    = require ( 'express' ),     app        = express (),     bodyparser = require ( 'body-parser' ),     jwt        = require ( 'jsonwebtoken' ),     mongoose   = require ( 'mongoose' ),     mongouri   = 'mongodb://feedbacker:feedbacker@ds011472.mlab.com:11472/feedbacker';     secretkey  = 'f33db3ck4r';  // database in cloud mongoose.connect (     mongouri, function ( error )     {         if ( error )         {             console.error ( 'mongoose error! error: ', error );         }     } );  // bodyparser read , post json data app.use ( bodyparser.urlencoded ( { extended: true } ) ); app.use ( bodyparser.json () );  // load models var user    = require ( './models/user' ),     student = require ( './models/student' ),     module  = require ( './models/modules' );  router.route('/module').post(function(req, res) {     var module = new module();     module.moduleid = req.body.moduleid;     module.modulename = req.body.modulename;     module.moduleleader = req.body.moduleleader;      module.save(function(err) {         if (err)             return res.send(err);          res.json({ message: 'module created!' });     }); }); // register router app.use ( '/api', router ); 

i cut out chunk of server.js of middleware , other routes going on not affect this.

i have used postman test this, , not res.json message. if change routing too:

router.route('/module').post(function(req, res) { var module = new module(); module.moduleid = req.body.moduleid; module.modulename = req.body.modulename; module.moduleleader = req.body.moduleleader;  module.save(function(err) {     if (err)      res.json({ message: 'module created!' }); }); }); 

this removing following line:

return res.send(err); 

this indeed send response 'module created!' ... reason why happening? because getting no errors anywhere , nothing being stored. , yes database details setup correctly

any apprecaited.

ah turns out using _id false doesn't go down well, changed model to:

var mongoose      = require ( 'mongoose' ),     schema        = mongoose.schema,     modulesschema = new schema (         {             _id: number,             modulename: string,             moduleleader: string         }     );  module.exports = mongoose.model ( 'module', modulesschema ); 

Comments