我已经阅读了 node-postgres 的 API 文档。
它建议我们使用该pg
对象来创建池化客户端。在pg.connect
api 文档中说:
connect 方法从客户端池中检索客户端,或者如果池中的所有客户端都忙且池未满,则 connect 方法将创建一个新客户端,将其第一个参数直接传递给客户端构造函数。
那么根据建议,使用是否pg.connect
意味着“使用pg
对象创建池客户端”?如果不是,它实际上是什么意思?
在我的实现示例中,我在路由中做了几个查询:
app.get('/post', function(req, res) {
pg.connect(dbconfig, function(err, client, done) {
client.query('SELECT * FROM post', function(err, result) {
res.render('post/list', { posts: result.rows });
});
});
});
app.get('/post/new', function(req, res) {
res.render('post/new');
});
app.post('/api/v1/post', function(req, res) {
var b = req.body;
pg.connect(dbconfig, function(err, client, done) {
client.query('INSERT INTO post (title, content) VALUES ($1, $2)',
[b.title, b.content],
function(err, result) {
done();
res.redirect('/post');
});
});
});
pg.connect
每次我想进行查询时都调用正确的方法吗?如果没有,更好的主意是什么?