> There's definitely a lot of throwing the baby out with the bath water. ACID is hard on a distributed system. Let me rephrase that. Performant ACID is hard on a distributed system.
> Relational stores without ACID are very hard to reason about. Any associations that are created with the primary entry may or may not be there at lookup. This is solved via documents.
This is only solved via. documents for applications which don't need relational consistency or transactions, which is a minor percentage of web-applications.
Most applications of Mongodb that I've seen do not fall into that category, further MongoDB is marketed as a generic, not as a very application specific kind of solution..
As soon as you find your application does need transactional consistency between entries, you'll be up the creek making your own paddle - since unlike with SQL databases where ACID is at least supported MongoDB just gives you:
> $isolated does not work with sharded clusters. [0]
[0] https://docs.mongodb.com/manual/core/write-operations-atomic...