В документах firestore нет подробного обсуждения компромиссов, связанных с использованием подкатегорий и коллекций верхнего уровня, но отмечайте, что они менее гибкие и менее "масштабируемые". Учитывая, что вы жертвуете гибкостью при настройке своих данных в подкатегориях, помимо умственно удовлетворительной структуры должны быть определенные положительные стороны.
Например, как время для запроса firestore на одном ключе в большой коллекции сравнивается с получением всех элементов из гораздо меньшей коллекции?
Скажем, мы хотим запросить большую коллекцию "Люди" для всех людей в семейном подразделении. В качестве альтернативы, разбивайте данные по семействам в первую очередь на семейные единицы.
Люди → человек: {family: 'Smith'}
против
Семьи → семья: {имя: 'Смит'} → Люди → человек
Я бы ожидал, что последнее будет более эффективным, но верно ли это? Являются ли какие-либо оценки больших О для каждого? Любые другие преимущества подкатегорий (например, для транзакций)?