I built something similar for a client once.
Starting up the server without ensuring a connection to mongo seems dangerous, no? https://github.com/jazzychad/PushServer/blob/master/app.js#L...
Basically, you want to listen for the 'open' event and then start the express server... db.once('open', function() { start express here })
A very important future feature would be to handle apns feedback service too (I see that in your TODO). I hear that if you don't enable this, apple will throttle your messages.