I don't think that this is the solution to MongoDB problems mostly because they're unsolvable. Here's why:<p>- When you update across multiple documents, you're not guaranteed that they all succeed or fail. This is why embedded documents is more consistent but less flexible: single document updates are atomic.<p>- When you make queries on multiple documents that depend on the previous query, the running query could be affected by updates that happen in between, otherwise known as lacking serializability. Again, this can be fixed by embedding documents.<p>- When you delete a document, there may be broken references to the deleted document. Unless you have denormalized the references to the deleted document, you must query the entire database to remove broken references.<p>If you go so far to emulate a relational database, you might as well just use one.