如何结束 'pg-promise' 个应用
How to end 'pg-promise' app
我正在尝试编写一个 REST API,它根据请求负载选择一个数据库并执行某些操作。
根据文档,我将在操作结束时释放共享连接对象,然后通过结束 pgp 应用程序来完成它。
var pgp = require('pg-promise')();
var connection = {
user: 'generaluser', //env var: PGUSER
database: 'seeddb', //env var: PGDATABASE
password: '$$$$$$$', //env var: PGPASSWORD
host: 'localhost', // Server hosting the postgres database
port: 5432 //env var: PGPORT
};
var sco;
module.exports = {
getuser: function(req, res)
{
Account.findOne({ select: [ 'database' ], where: { appid: req.body.appid } })
.then(function (result)
{
connection.database = result.database;
var db = pgp(connection);
return db.connect();
})
.then(function (obj)
{
sco = obj;
return sco.any("select * from users");
})
.then(function (result)
{
console.log(result);
return sco.done();
})
.done(function ()
{
pgp.end();
return res.ok("Done");
});
}
};
尽管如此,从第二次 API 调用(对同一个数据库)开始,我一直收到以下错误:
WARNING: Creating a duplicate database object for the same connection.
谁能帮我解决以下任一问题
- 在后续调用中重复使用 pgp 连接对象
- 在每次调用结束时正确终止应用程序
谢谢
Terminate the application properly at the end of each call
你绝对不应该这样做,在每次查询后关闭整个连接池是一个糟糕的主意。
Reuse the pgp connection object on subsequent calls
并发症是什么?您是在询问如何重用 Node.js 中的对象吗?
另请参阅:。
并且你应该远离使用方法 db.connect
那样,这不是使用框架的好方法。您应该依赖自动连接 ;)
我正在尝试编写一个 REST API,它根据请求负载选择一个数据库并执行某些操作。
根据文档,我将在操作结束时释放共享连接对象,然后通过结束 pgp 应用程序来完成它。
var pgp = require('pg-promise')();
var connection = {
user: 'generaluser', //env var: PGUSER
database: 'seeddb', //env var: PGDATABASE
password: '$$$$$$$', //env var: PGPASSWORD
host: 'localhost', // Server hosting the postgres database
port: 5432 //env var: PGPORT
};
var sco;
module.exports = {
getuser: function(req, res)
{
Account.findOne({ select: [ 'database' ], where: { appid: req.body.appid } })
.then(function (result)
{
connection.database = result.database;
var db = pgp(connection);
return db.connect();
})
.then(function (obj)
{
sco = obj;
return sco.any("select * from users");
})
.then(function (result)
{
console.log(result);
return sco.done();
})
.done(function ()
{
pgp.end();
return res.ok("Done");
});
}
};
尽管如此,从第二次 API 调用(对同一个数据库)开始,我一直收到以下错误:
WARNING: Creating a duplicate database object for the same connection.
谁能帮我解决以下任一问题
- 在后续调用中重复使用 pgp 连接对象
- 在每次调用结束时正确终止应用程序
谢谢
Terminate the application properly at the end of each call
你绝对不应该这样做,在每次查询后关闭整个连接池是一个糟糕的主意。
Reuse the pgp connection object on subsequent calls
并发症是什么?您是在询问如何重用 Node.js 中的对象吗?
另请参阅:
并且你应该远离使用方法 db.connect
那样,这不是使用框架的好方法。您应该依赖自动连接 ;)