Я разрабатываю полноценный API для отдыха с узлом и exrpess, моя база данных - postgresql, мне нужно использовать пакет pg-promg для postgres.
Я знаю, что мне нужно подключить мое приложение к базе данных.в файле app.js, но мой вопрос: как мне использовать это соединение в моих конечных точках.
У меня есть маршруты, и я использую контроллеры.
Например
app.js
//in this file, suppously I have to to the connection
const db = pgp('postgres://john:pass123@localhost:5432/products');
app.use('/products', productsRoute);
products.js (маршрут)
router.get('/', ProductsController.get_all_products);
products.js (контроллер)
exports.get_all_products = (req, res, next ) => {
// Here i want to use de database connection to do the query to find all
//products in the database
}
Как получить доступ кподключение, чтобы сделать что-то вроде
db.any('SELECT * FROM products WHERE active = $1', [true])
.then(function(data) {
// success;
})
.catch(function(error) {
// error;
});
С контроллера.
Обновление
Хорошо, я использую сейчас node-prostgres, стр.Я видел, что лучше, спасибо за советы людей.
Я хочу создать один раз экземпляр БД и вызывать его где угодно, в частности в контроллерах
Могу ли я использовать app.local длясохранить мой клиент ?, подключиться, сделать запрос и затем закрыть его.Делай это где угодно