FAQ
Thanks for the replies. The reason I built it this way was beacuse of these
reasons:

- Each user has its own Database with a list of schemes. (IE new connection
every time, can't reuse a mass pool on a specific database)
- Spamming API requests would open up a massive amount of connections, that
are never killed off, resulting in the postgres instance to eventually be
smocked full.

This is why I thought opening and closing was good. How would you recommend
handling the above issues?

Den tisdagen den 25:e november 2014 kl. 01:36:44 UTC+1 skrev Alex Kocharin:

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" <alex...@gmail.com <javascript:>>:

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 nodejs+un...@googlegroups.com <javascript:>.
To post to this group, send email to nod...@googlegroups.com <javascript:>
.
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 nodejs+unsubscribe@googlegroups.com.
To post to this group, send email to nodejs@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/nodejs/bb064078-9578-4082-b74a-284bac1092f5%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Search Discussions

Discussion Posts

Previous

Follow ups

Related Discussions

Discussion Navigation
viewthread | post
posts ‹ prev | 6 of 13 | next ›
Discussion Overview
groupnodejs @
categoriesnodejs
postedNov 24, '14 at 10:09p
activeNov 28, '14 at 6:48p
posts13
users8
websitenodejs.org
irc#node.js

People

Translate

site design / logo © 2022 Grokbase