1. Being expected to develop a fully working, robust application that accepts 30k users in 4 days
2. Agreeing to this commitment
I think are the big failures. Who in their right mind would agree to something like this, even going as far as taking responsibility for it?!
True, when it comes to it, your boss is your boss, fine - if your hand is being forced, do it under protest, rather than pretending this isn't a terrible idea.
http://www.mongodb.org/display/DOCS/Connections
That page says each connection spawns a thread. That could be a good lead. The documentation suggests using a connection pool (although many drivers will do this automatically). Were you using one?
http://stackoverflow.com/questions/8439639/mongodb-max-conne...
That StackOverflow question is about supporting 20k concurrent users.
It could also be a matter of insufficient hardware. I don't know, but I would start looking at what kind of performance can be expected in different setups and go from there. The most important thing is to properly test your setup. Prepare for a process of trial and error and expect it to take some time.
The bottom line is there were only 4 days to go from idea to supporting 30k concurrent users. That is a recipe for disaster. There are so many things to consider and implement in addition to the software. Nevermind the fact that there were probably laughable requirements for this project and no time allocated to design and testing. There wasn't even sufficient hardware to support the application. This project was a failure almost from the moment it was conceived. This guy never even had a chance.
There is a story in here, but it is not so much about MongoDB.