gpt4 book ai didi

javascript - client.query 在 node.js 的 node-postgres 库中没有响应

转载 作者:行者123 更新时间:2023-11-29 12:46:05 24 4
gpt4 key购买 nike

我现在正在学习如何使用 node-postgres在 node.js 和 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 connectwill execute a query 显示在我的终端中,但看起来执行在 client.query 中停止并且没有显示成功

那么为什么它没有按预期工作呢?我既没有任何经验,也没有任何关于 postgres 的知识——我通常使用 mysql 并且只是安装了 postgres,因为 heroku 不允许我使用 mysql(但实际上我可以通过第三方插件使用它)。而且我在使用mysql时已经能够成功返回结果,所以原因可能与我使用postgres服务器的设置有关。

请注意,我的 postgres 服务器正在运行,并且我确认我的用户名、密码和数据库名称是正确的(实际上我确实重置了我的密码)。

我使用 Node 版本 v0.10.21 和 node-postgres @2.11.1。

最佳答案

您混淆了 API 调用。您可以用于查询的客户端pg.connect 函数返回:

pg.connect(conString, function(err, client, done){
// handle err here
client.query("select * from batting;", function(err, result) {
// handle err here
console.log("success");
done(); // don't forget this to have the client returned to the pool
});
});

关于javascript - client.query 在 node.js 的 node-postgres 库中没有响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21707351/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com