我正在Heroku上编写一个node.js应用程序,并使用pg模块。我无法弄清楚为查询数据库所需的每个请求获取客户端对象的“正确”方法。
该文档使用如下代码:
pg.connect(conString, function(err, client) {
// Use the client to do things here
});
但是,您肯定不需要pg.connect
在使用数据库的每个函数中调用对吗?我看过其他执行此操作的代码:
var conString = process.env.DATABASE_URL || "tcp://postgres:1234@localhost/postgres";
var client = new pg.Client(conString);
client.connect();
// client is a global so you can use it anywhere now
我倾向于第二种选择,因为我仍然相信Heroku的免费数据库实例仅限于一个连接,但是以这种方式进行操作是否有任何弊端?每次使用之前,是否需要检查我的客户端对象是否仍处于连接状态?