Opening and closing database connection per request is a very bad idea. Database connection should be opened permanently and re-used across many different requests, this way you save milliseconds establishing it.
 
knex allows connection pooling. Use it.
 
 
25.11.2014, 01:09, "Alex Spencer" <[email protected]>:
Hey.
 
Need some advice on an api application built using:
- express
- knexjs
- postgres
 
My question is if im handling database operations correctly or if im doing it completely wrong.. See example
 
var knex = require('knex');
app
.get('/example/:param',
loadWithParam
(),
updateWithParam
(),
render
.staticOK()

function loadWithParam() {
return function(req, res, next) {
var db = knex({conConfig});
db
(tableName).where(field, req.params.param).select().then(function(rows) {
db
.destroy(function() {
res.locals[tableName] = rows;
next();
});

}).catch(function(err) {
...
});
};
}

function updateWithParam() {
return function(req, res, next) {
if(res.locals[tableName].length === 0) {
return next();
}
var db = knex({conConfig});
db
(tableName).where(field, req.params.param).update({field: value}).then(function() {
db
.destroy(function() {
next();
});
}).catch(function(err) {
...
});
};
}


In short my question is if its good or bad practise opening up and closing database connections per operation required to run? Ive been told setting up a database connection on res.locals upon receiving a request is better, but i disagree..
 
Thanks

 

--
Job board: http://jobs.nodejs.org/
New group rules: https://gist.github.com/othiym23/9886289#file-moderation-policy-md
Old group rules: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
---
You received this message because you are subscribed to the Google Groups "nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit https://groups.google.com/d/msgid/nodejs/408d3fd6-dd6c-4621-9030-99ff2e3fe7d6%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--
Job board: http://jobs.nodejs.org/
New group rules: https://gist.github.com/othiym23/9886289#file-moderation-policy-md
Old group rules: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
---
You received this message because you are subscribed to the Google Groups "nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit https://groups.google.com/d/msgid/nodejs/607001416869721%40web8h.yandex.ru.
For more options, visit https://groups.google.com/d/optout.

Reply via email to