Guaranteed type safety:
Collection2 + Simple Schema Package
Relationships guaranteed by database:
Why is this a problem? Makes it harder to make mistakes ? I doubt it
MongoDB gives a lot of flexibility and makes coding much faster. Ability to store hash objects in which you do not know the form without recuring to additional forms of serialization or deserialization. + ability to search and index those “potentialy existing” fields. This is what I call a true database, a db that allows me to do anything I want with it
I think a mental shift is required. Just like you go from any other template engine to React.
Maybe you are stuck in the SQL era. Not saying SQL is bad, but in my opinion it has way more drawbacks than MongoDB. I’ve worked with both large scale enterprise. And the majority of big apps in PHP tend to go to NoSQL data storages like MongoDB or Redis or DynamoDB because the SQL simply can’t handle it.
At this stage the only advantage I personally see in SQL is that it is more mature and better battle-tested. This will change in 5 years.