1. This was NEVER an issue for 99.999% of people. The drivers all had the default set to FSYNC_SAFE.
2. It DOES scale the way it claims. It just doesn't have unlimited scalability and guess what no product does.
2. I haven't seen anyone say that Mongo scales in an unlimited fashion. You said that. I think what they might be saying is that it doesn't scale well enough to pay for the trade-offs from using it. If you aren't running a system that can be composed of somewhat-interrelated documents, you're gonna have a bad time.
https://github.com/mongodb/mongo-java-driver/blob/master/src...
I like Mongo. And until I really learned about it, I got bitten by the default a few times. Personally I use REPLICA_ACKNOWLEDGED when running in a cluster and FSYNC when writing to a single node.
Source: tried to use it at scale
And I've used it under very high load with zero problems other than data model changes.
1. Historically mongodb was distributed with completely unsafe defaults. It was insane to use it with any data you actually cared about. Once you toggle on the safety features most of the vaunted performance goes away.
2. It doesn't actually scale that well despite claims that it does.
The fact that there are better nosql solutions just make people further annoyed. It's basically the cargo cult behaviour of mongodb proponents that people don't like.