Я пытаюсь написать REST API, который на основе полезной нагрузки запроса выбирает базу данных и выполняет определенные действия.Как закончить приложение «pg-prom»
В соответствии с документацией я освобождаю объект общего соединения в конце операции и следую за ним, завершая приложение 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 при последующих вызовах
- Завершите приложение должным образом в конце каждого звонка
Благодаря
Я реализовал уровень кэша в приложении, чтобы сохранить соединения db через вызовы API. –