• No referential integrity: MongoDB will not enforce RI.

  • It can't: Even in principle!
    • No transactions.
    • T1 can set an object reference to X while T2 deletes X.

  • No joins: If you want to find a referenced object, you have to write the query yourself.

  • No join optimization: Since you code the joins, you code the join algorithms and join optimization.