node.js - Route.get() requires callback functions but got a [object Undefined] after using two get request -


i learning node , have 2 request in index.js

var express = require('express');  var router = express.router();      router.get('/', function(req, res, next) {      res.status(200)        .json({          status: 'success',          message: 'welcome everestapi!'        });  });        var db = require('./queries');    router.get('/api/users', db.getallusers);  router.get('/api/pref', db.getallpref);      module.exports = router;

and query.js

var promise = require('bluebird');    var options ={      promiselib : promise  };    var pgp = require('pg-promise')(options);  var db = pgp({      host: 'localhost',      port: 5432,      database: 'nari',      user: 'postgres',      password: 'pes'  });      function getallusers(req, res, next) {    db.any('select * office.users')      .then(function (data) {        res.status(200)          .json({            status: 'success',            data: data,            message: 'retrieved users'          });      })      .catch(function (err) {        return next(err);      });  }      function getallpref(req, res, next){    db.any('select * core.preferences')      .then(function(data){        res.status(200)          .json({            status: 'success',            data : data,            message : 'retrieved preferences'          });      })          .catch(function(err){            return next(err);          });        }      module.exports ={getallusers: getallusers};  module.exports={getallpref : getallpref};

i have 2 action in here.one getallusers() , getallpref().starting server gives error .

d:\node-postgress-promises\node_modules\express\lib\router\route.js:202 throw new error(msg); ^

error: route.get() requires callback functions got [object undefined] @ route.(anonymous function) [as get] (d:\node-postgress-promises\node_modules\express\lib\router\route.js:202:15) @ function.proto.(anonymous function) [as get] (d:\node-postgress-promises\node_modules\express\lib\router\index.js:510:19) @ object. (d:\node-postgress-promises\api\index.js:17:8) @ module._compile (module.js:409:26) @ object.module._extensions..js (module.js:416:10) @ module.load (module.js:343:32) @ function.module._load (module.js:300:12) @ module.require (module.js:353:17) @ require (internal/module.js:12:17) @ object. (d:\node-postgress-promises\server.js:6:11) @ module._compile (module.js:409:26) @ object.module._extensions..js (module.js:416:10) @ module.load (module.js:343:32) @ function.module._load (module.js:300:12) @ function.module.runmain (module.js:441:10) @ startup (node.js:139:18)

if comment 1 of above routes eg . router.get('/api/users', db.getallusers); response..any please..i know naive still learning , new this.pardon if naive.thank you

in query.js

export functions in object

module.exports = {   getallusers: getallusers,   getallpref: getallpref, } 

Comments