What we call an Aggregate here, is what Eric Evans defined in its Domain-Driven Design as a self-sufficient of Entities and Value-Objects in a given Bounded Context.

As a consequence, an aggregate is a collection of data that we interact with as a unit.
Aggregates form the boundaries for ACID operations with the database.
(Martin Fowler)

So, at Aggregate level, we can say that most NoSQL databases can be as safe as ACID RDBMS, with the proper settings.
Of source, if you tune your server for the best speed, you may come into something non ACID. But replication will help.

My main point is that you have to use NoSQL databases as they are, not as a (cheap) alternative to RDBMS.
I have seen too much projects abusing of relations between documents. This can't be ACID.
If you stay at document level, i.e. at Aggregate boundaries, you do not need any transaction.
And your data will be as safe as with an ACID database, even if it not truly ACID, since you do not need those transactions!

If you need transactions and update several "documents" at once, you are not in the NoSQL world any more - so use a RDBMS engine instead!

We are currently cooking a native direct MongoDB access in our labs.
See our SynMongoDB.pas unit...
Still work to do, but I suspect this will be another unit feature of mORMot, when the corresponding mORMotMongoDB.pas unit will achieve one highly-optimized bridge between our RESTful ORM and MongoDB.

Stay tuned!