All very constructive points, thanks for this.
On the point of slow queries, nailing a slow query is a bit of a mixed bag at the moment. I've found that Dex (http://blog.mongolab.com/2012/06/introducing-dex-the-index-b...) and NewRelic help diagnose trouble queries pretty well.