One issue is that many of these points are design characteristics of MongoDB and should have been known before hand. I am not criticising but it's almost like you did zero research before hand.
Transactions for example have never existed in MongoDB and joins doesn't really make much sense.