This is a nice summary of many of the problems with MongoDB, and a good set of fumbled excuses as to why they might not actually be problems. Most of the answers boil down to "Well, yeah, but if you know how to [long complicated solution here], then it's not a problem," while simultaneously admitting that the problem is present and that the solution (if it exists) is extremely difficult and requires specialized knowledge.
All I can do is laugh and keep on using Postgres...
Interestingly I just wrote an article on dzone (published in their NoSQL zone ;-) ) about building encapsulated data models on PostgreSQL. I discuss a bunch of ways of doing this. I totally agree with the idea that one should encapsulate data in application, but that's what an RDBMS is for if you know how to use it.
My approaches to db interfaces have been greatly inspired by REST and SOAP. The thing is giving up on the RDBMS is usually the wrong choice. If using NoSQL, usually it is best as an adjunct to the traditional RDBMS (particularly for pre- and post- processing).