我正在学习节点,我在index.js中有两个get请求
var express = require('express');
var router = express.Router();
router.get('/', function(req, res, next) {
res.status(200)
.json({
status: 'success',
message: 'Welcome to EverestApi!'
});
});
var db = require('./queries');
router.get('/api/users', db.getAllUsers);
router.get('/api/pref', db.getAllPref);
module.exports = router;

和我的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 * FROM office.users')
.then(function (data) {
res.status(200)
.json({
status: 'success',
data: data,
message: 'Retrieved all users'
});
})
.catch(function (err) {
return next(err);
});
}
function getAllPref(req, res, next){
db.any('SELECT * FROM core.preferences')
.then(function(data){
res.status(200)
.json({
status: 'success',
data : data,
message : 'Retrieved all preferences'
});
})
.catch(function(err){
return next(err);
});
}
module.exports ={getAllUsers: getAllUsers};
module.exports={getAllPref : getAllPref};

我在这里有两个GET Action.One getAllUsers()和另一个getAllPref()。启动服务器会出错。
d:\节点postgress-承诺\ node_modules \表达\ lib中\路由器\ route.js:202 抛出新错误(msg); ^
错误:Route.get()需要回调函数但得到[对象未定义] 在Route。(匿名函数)[as get](D:\ node-postgress-promises \ node_modules \ express \ lib \ router \ route.js:202:15) 在Function.proto。(匿名函数)[as get](D:\ node-postgress-promises \ node_modules \ express \ lib \ router \ index.js:510:19) 在对象。 (d:\节点postgress-承诺\ API \ index.js:17:8) 在Module._compile(module.js:409:26) at 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) at require(internal / module.js:12:17) 在对象。 (d:\节点postgress-承诺\ server.js:6:11) 在Module._compile(module.js:409:26) at 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) 在启动时(node.js:139:18)
如果我评论上述路线之一,例如。 router.get(' / api / users',db.getAllUsers); 我得到了回复..请帮助。我知道这很天真,但我还在学习,对此很新。如果太天真,请原谅。谢谢你
答案 0 :(得分:1)
导出对象中的函数
SELECT
g.ENTITYID AS 'ENTITYID',
g.ACCTNUM AS 'ACCTNUM',
SUM(g.ACTIVITY) AS 'ACTIVITY',
h.ACCTNAME AS 'ACCTNAME'
FROM
SQLDATA.DBO.GLSUM g
INNER JOIN
SQLDATA.DBO.GACC h ON g.ACCTNUM = h.ACCTNUM
WHERE
g.ENTITYID = '85000'
AND g.PERIOD < '201703'
AND g.ACCTNUM = '569300000'
GROUP BY
g.ENTITYID,
g.ACCTNUM,
h.ACCTNAME