So I have read all the official documentation regarding Firestore and I understand all the basics and most of the advanced topics. But in the end I came up with two questions:
Is there any advantage of using Subcollections over Root-level collections? Well, the database may be a little bit more organized if it is structured in Subcollections. But in the end, regarding performance and scalability, it seems that Root-level collecitons are just superior. All the advantages listed in the official documentation also apply to Root-level collections, or am I misunderstanding something?
Let's take the famous chat example and consider a lot of chat groups (like WhatsApp). Whenever a user opens a chat, the user can see information about the chat and the members of this chat. But this is where my second question comes up: Wouldn't showing the members of the chat mean, that whenever someone opens the chat, another collection containing said users profile image and name will be loaded? If you have a 'WhatsApp' group with 10 people in it, this would mean 11 reads (one for the group itself, 10 for the image/name of the members) whenever anyone opens the group. Let's extend that idea and make groups publicy available, which would result in an insane amount of reads, just to see basic information of the group. Since Firestore charges for collection reads, this will blow up very fast, wouldn't it?