【发布时间】:2014-02-12 00:41:49
【问题描述】:
我现在正在学习如何在 node.js 中使用 node-postgres 包和 express,以便从 Node.js 中连接到 postgres 服务器。这是我写的代码,但client.query 在这里根本不起作用:
var pg = require("pg");
exports.batting = function(req, res) {
var conString = "postgres://myUserName:myPassword@localhost:5432/baseball";
var client = new pg.Client(conString);
pg.connect(conString, function(err, result) {
console.log("enter connect");
if (err) {
console.log(err);
} else {
console.log("will execute a query");
client.query("select * from batting;", function(err, result) {
if (err) {
console.log(err);
}
console.log("success");
});
}
});
}
请注意,我将上面的代码写入了另一个文件,而不是根 app.js 文件中。
但是,当我运行我的应用程序并访问适当的 url 时,它并没有返回任何内容。虽然enter connect 和will execute a query 显示在我的终端中,但看起来执行在client.query 中停止并且没有在那里显示success。
那么为什么它没有按预期工作?我既没有任何关于 postgres 的经验或知识——我通常使用 mysql 并且只是安装了 postgres,因为 heroku 不允许我使用 mysql(实际上我可以通过第三方插件使用它)。而且我在使用mysql时已经能够成功返回结果,所以原因可能与我使用postgres服务器的设置有关。
请注意,我的 postgres 服务器正在运行,并且我确认我的用户名、密码和 dbname 正确(实际上我确实重置了密码)。
我使用 node 版本 v0.10.21 和 node-postgres @2.11.1。
【问题讨论】:
标签: javascript node.js postgresql