0
我正在閱讀文檔並試圖找出連接池。我在做連接池嗎?使用node-postgres庫
文檔說池應該長住,所以我創建了一個config/db.js
文件,其中創建pool
和導出:
/* src/config/db.js */
const pg = require('pg');
const dbConfig = {
host: process.env.DB_HOST,
port: process.env.DB_PORT,
user: process.env.DB_USER,
password: process.env.DB_PASS,
database: process.env.DB_DATABASE,
max: 25,
idleTimeoutMillis: 5000
};
const pool = new pg.Pool(dbConfig);
module.exports = {
pool
};
我有一大堆的路線和控制器。例如,我有/markers
端點,它在控制器中有幾個方法。 在控制器文件中,我從config/db.js
導入池並使用它。這可以嗎?
const pool = require('../config/db').pool;
const create = function (req, res, next) {
const data = {
created_by: req.body.createdBy,
title: req.body.title,
description: req.body.description,
lat: req.body.lat,
lng: req.body.lng
};
pool.connect((err, client, done) => {
if (err) {
done();
// console.log(err);
return res.status(500).json({ success: false, data: err });
}
client.query(
'INSERT INTO markers(created_by, title, description, lat, lng, geography)\
values($1, $2, $3, $4::decimal, $5::decimal, ST_SetSRID(ST_MakePoint($5::decimal, $4::decimal), $6))',
[
data.created_by,
data.title,
data.description,
data.lat,
data.lng,
4326
],
function(err, res) {
done();
if (err) {
// console.log(err);
}
}
);
return res.status(200).json({ success: true });
});
};
而且,我怎麼檢查插入成功,這樣我就不會僅僅返回一個200次的成功,如果有不知道如果插入成功,沒有錯誤?
謝謝!但是因爲我無法從創建函數訪問'res',所以如何最好地處理? – user1354934