0
我已經在一個月前開始使用NodeJS。由於我沒有那麼多經驗,所以運行代碼並不總是像想要的那樣。在某些方面,我無法通過節點的pg
包連接到我的PostgreSQL。 (當我通過PDO在PHP連接好知道它的工作原理)從NodeJS連接到PostgreSQL不起作用
我做這個(簡單的)路線/控制器
var pg = require('pg');
var config = require('../config');
module.exports = function(app) {
app.get('/db-get-formules', function(req, res) {
var results = [];
var pgClient = new pg.Client(config.getDbConnectionString());
pgClient.connect();
pgClient.query('SELECT * FROM formules ORDER BY formule_id');
pgClient.on('row', function(row) {
results.push(row);
})
pgClient.on('end', function() {
done();
console.log(results);
res.json(results);
})
});
};
這是在我的配置文件index.js:
var configValues = require('./config');
module.exports = {
getDbConnectionString: function() {
return 'postgres://' + configValues.uname + ':' + configValues.password + '@' + configValues.host + ':' + configValues.port + '/' + configValues.database;
}
}
在同config文件夾我有一個包含config.json文件中的所有參數的連接
{
"uname": "username",
"database": "myDb",
"host": "localhost",
"password": "[email protected]",
"port": "5432",
"idleTimeoutMillis": "30000"
}
如果我運行這個/db-get-formules
頁面,頁面會一直加載(旋轉)並且什麼也沒有發生。我究竟做錯了什麼?
哦,只是爲你提供我的完整代碼,我有一個server.js
文件中的根
var express = require('express');
var app = express();
var queryFormules = require('./controllers/queryFormules');
var port = process.env.PORT || 3000;
app.use('/app', express.static(__dirname + '/public/app'));
app.use('/server', express.static(__dirname + '/public/server'));
queryFormules(app);
// application -------------------------------------------------------------
app.get('/', function(req, res) {
res.sendFile(__dirname + '/public/index.html'); // load the single view file (angular will handle the page changes on the front-end)
});
app.listen(port);