Monday, 3 April 2017

Node JS function not being called

Here is my controller

set-user.js

var mongoUrl = 'mongodb://user:pwd@ds121212.mlab.com:12345/user';
var MongoClient = require('mongodb').MongoClient;
console.log('Before function');
module.exports = {

    setUser: function (req, res) {

        console.log('req' + req);

        MongoClient.connect(mongoUrl, function (err, db) {

            if (err) {
                res.status(400).json({
                    message: 'Connection to database failed !!',
                    error: err
                });
            }

            insertDocument(db, req.body, function () {
                res.status(200).json({
                    message: 'User added to DB!!'
                });
            });

        });

        var insertDocument = function (db, data, callback) {
            db.collection('user_list').insertOne(data, function (err, result) {
                if (err) {
                    res.status(500).json({
                        message: 'Failed to add in DB!!'
                    });
                    callback();
                }
            })
        }
    }
};

its printing Before function in console, but not printing req. It is not entering the function. Can any one suggest what is the problem ?

index.js

var setUser = require("../routes/user-route");

module.exports = {
    registerRoutes: function(app) {
        app.use('/set_user', setUser);
    }
};

server.js

var http = require('http');
var express = require('express'),
    bodyParser = require('body-parser'),
    routes = require('./app/routes');
var app = express();

app.use(bodyParser.json());

routes.registerRoutes(app);

var server = http.createServer(function (request, response) {
    response.writeHead(200, {'Content-Type': 'text/plain'});
    response.end('Hello world');
}).listen(9922);

module.exports = server;

user-route.js

var router = require('express').Router();
var setUserController = require("../controller/set-user");

router.post("/set_user", setUserController.setUser);

module.exports = router;



via Avinash Ravilla

No comments:

Post a Comment