Without going into cold start times (you can google it), the main problem is that querying your data in any sophisticated way gets complicated and burdensome really quickly. Perhaps 50% of my normal database tasks require strange little work-arounds and “fixes” that would never have been necessary when just using a traditional relational database.
There really are NO JOINS in Firestore.
The way we make up for this lack of joins may surprise and disappoint you. We often include the contents of one table inside the field of another table. Yes, you heard that right. It is very normal and expected to DEnormalize your data: store tables within tables as it were. We often have our data copied/duplicated in more than one location: in the word of relational databases this is a big no-no, and for good reason.
At the end of the day, however, I’d say that Firebase is great. It is really quite fast. Have a look at two apartment/home real-estate websites where you can rent or buy property in both Sosua and Puerto Plata, Dominican Republic: