In that case, you might consider doing something like this: function obtainConnection(callback){ var c = null; if (c == null){ var conn = db.open(... fn() { c = conn; callback(c);
// set some close timeout here }); } else callback(c); } function dbQuery(query, callback){ obtainConnection(fn() { db.collection(... fn() { db.query(query, callback); }); }); } Voila! Connection reuse. :) -Matt On Apr 8, 2012, at 9:17 PM, Matthew Hazlett wrote: > Thats how I originally did it, but when you need to do multiple queries to > the database you shoud open the connection once and reuse it instead of > opening it multiple times a session. > > > On 4/8/2012 9:14 PM, Matt Patenaude wrote: >> >> I agree, it seems entirely manageable. >> >> One low-overhead option would be just to split that out into a function, if >> it's used frequently: >> >> function dbQuery(query, callback){ >> db.open(... fn() { >> db.collection(.... fn() { >> db.query(query, callback); >> }); >> }); >> } >> >> >> dbQuery("SELET * FROM blah", fn() { >> // stuff you would have done in the inner-most part here >> }); >> >> >> -Matt >> >> On Apr 8, 2012, at 9:06 PM, Mark Hahn wrote: >> >>> > But as you can see this creates callback hell. >>> >>> It doesn't look that bad to me. >>> >>> >>> -- >>> Job Board: http://jobs.nodejs.org/ >>> Posting guidelines: >>> 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 post to this group, send email to nodejs@googlegroups.com >>> To unsubscribe from this group, send email to >>> nodejs+unsubscr...@googlegroups.com >>> For more options, visit this group at >>> http://groups.google.com/group/nodejs?hl=en?hl=en >> >> -- >> Job Board: http://jobs.nodejs.org/ >> Posting guidelines: >> 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 post to this group, send email to nodejs@googlegroups.com >> To unsubscribe from this group, send email to >> nodejs+unsubscr...@googlegroups.com >> For more options, visit this group at >> http://groups.google.com/group/nodejs?hl=en?hl=en > > > -- > Job Board: http://jobs.nodejs.org/ > Posting guidelines: > 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 post to this group, send email to nodejs@googlegroups.com > To unsubscribe from this group, send email to > nodejs+unsubscr...@googlegroups.com > For more options, visit this group at > http://groups.google.com/group/nodejs?hl=en?hl=en -- Job Board: http://jobs.nodejs.org/ Posting guidelines: 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 post to this group, send email to nodejs@googlegroups.com To unsubscribe from this group, send email to nodejs+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/nodejs?hl=en?hl=en