For me, NoSQL works great when the structure of the data is unclear but you have a fixed identifier that you can key off. SQL when the structure is known and juggling multi-table transactions is not a big PITA.
I'm not sure about the mongoDB nightmare, for me its done everything as the documentation claims it'll do.