I'm not 100% sure about knex, but by default the node Pg library caches
connections, so it's not an issue. Might be worth checking the docs or the
source though to make sure it's using that code path.

On Mon, Nov 24, 2014 at 11:35 AM, Alex Spencer <[email protected]> wrote:

> 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
> <https://groups.google.com/d/msgid/nodejs/408d3fd6-dd6c-4621-9030-99ff2e3fe7d6%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> 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/CAPJ5V2Y_U2iRWaL1-pkt2SoFhrrWh%3DNvFvw%3DZsu6LemSy7hoxg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to