The index.js file:
var express = require('express');
var router = express.Router();
function validCheck (exp,name) {
    return exp.test(name);
}
/* GET home page. */
router.get('/', function(req, res, next) {
  res.render('index');
});
var user=db.collection('user'); //gives reference error,db is not defined
router.post('/',function(req,res,next){
    username=req.body.username;
    password=req.body.password;
    //var user=db.collection('user'); //works fine
    user.findOne({'username':username,'password':password},function(err,docs){
        //do something
    });
});
module.exports = router;
When using var user=db.collection('user') outside router.post, it gives the error but when the same is used inside router.post, it works fine.
what might be the concept I am missing here?
Edit: part of App.js file involving mongodb
var mongodb= require('mongodb');
var MongoClient= mongodb.MongoClient;
var URL = 'mongodb://127.0.0.1:27017/mainDB';
MongoClient.connect(URL,function(err,database){
  if(!err){
    db=database;
  }
  else{
    //do something
  }
});
 
     
     
     
     
    