I love your solution it is similar to what I came up with when talking to elastic search.
On Sunday, April 8, 2012 at 6:24:09 PM UTC-7, Matt wrote: > > 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 nod...@googlegroups.com <javascript:> > To unsubscribe from this group, send email to > nodejs+un...@googlegroups.com <javascript:> > 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 nod...@googlegroups.com <javascript:> > To unsubscribe from this group, send email to > nodejs+un...@googlegroups.com <javascript:> > 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 nod...@googlegroups.com <javascript:> > To unsubscribe from this group, send email to > nodejs+un...@googlegroups.com <javascript:> > For more options, visit this group at > http://groups.google.com/group/nodejs?hl=en?hl=en > > > -- 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+unsubscr...@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/99fcb529-0669-47b6-8080-ce8baf88af4b%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.