Hello,
I came up to the point having to implement some transactions for my vibe.d app. If a user has paid with Paypal the product document has to be updated as well as the user document has to be updated and that has to be securely made with rollback mechanisms in case something goes wrong (database crash or..).

I am keep reading articles about mongodb and ACID operations and as always there is no clear opinion. Some say mongodb is powerful, makes life easier and there are always ways to do everything you need even if requires more programming effort or sacrifices speed and others say just use a relational db and never mongodb for transactions.

Does anybody has any advice on that?
Does the vibe.d driver has anything related to ACID operations that i m not aware of?
Would be a wise solution to use two databases together?
(I am a beginner to all this so not experienced with SQL databases, i started by using vibe.d and mongodb).
If yes is there any example i could follow?
Or is better to try and bring things down to document level, play with two phase commits and in general stay around mongodb's capabilities?

Thanks a lot