 <p>When you open a MongoDB connection with the native driver, you're actually opening a pool of 5 connections (by default). So it's best to open that pool when your app starts and just leave it open rather than open and close the pool on each request.</p> <p>You're on the right track with closing out your HTTP response; just call <code>res.end();</code> when the response is complete (i.e. when <code>item</code> is <code>null</code> in the <code>cursor.each</code> callback).</p>