That said, I also think a lot of the blame is due to developers with limited database experience, who believed they could do a 1:1 drop-in replacement of Mysql/Postgresql with MongoDB. Of course that's not possible, but then MongoDB didn't seem to do much to argue against the idea.
Bottom-line, MongoDB isn't optimal for the average CRUD application, and I think there's a growing number of developers who have been burnt trying to use it that way.
If I went into an interview and asked why they chose a document-oriented database, and that one in particular, think I'd be popular? (I like to play with new techologies, too, but it seems odd to see it mentioned as a requirement.)
Assertions like that (perhaps not officially by the devs, but certainly from the community) gained MongoDB the reputation of "pretentious" you mention, IMHO.
With postgres's hstore and new json querying capabilities I see less and less cases where I would use mongo.
All it ever seems it would have bought you is the ability not to define your schema up front and not have to do migrations later if you want to add attributes.
But alot of projects benefit from the early datastore schema design because it helps you work out the logic in your application.
But now you can add random things to your schema easily in postgres with hstore or json.
Serious question:
What is Mongo good for up against that?
It's not the fault of any NoSQL database if someone makes the poor decision to solely rely on relatively new and untested databases like MongoDB or Couch. People are using the likes of MongoDB not because they've identified a technical need, but because it's cool and hip and people want to ride the hype train with everyone else.
The hatred is more directed at the misuse of embedded documents as opposed to separate ones and people trying to make MongoDB work exactly like MySQL when it's completely different. Give it time and you'll see articles from people proclaiming it's the greatest thing to ever happen to databases and evident by the funding and money 10Gen have coming in, they must be doing something right.
Plus the fact that many people gave their heads a shake and realize that you CAN do a basic key-value noSQL data store in an SQL database with a simple schema. And of course, both PostgreSQL and MySQL have responded with optimized key-value store capabilities in their databases right alongside all the SQL goodness.