Я обычно рекомендую не получать больше информации, чем помещается на одном экране / просмотре в вашем приложении.Ограничение себя «скринирующей» (или несколькими скрининговыми) информацией гарантирует, что вам не придется ни наращивать свой счет за базу данных, ни счет за пропускную способность вашего пользователя без необходимости.
Если у вас есть сценарий использования, в котором вам нужно показатьсчитать, рассмотреть вопрос о сохранении этого фактического количества в базе данных.Если вам нужно прочитать много документов, чтобы сосчитать их, вы снова тратите как свои собственные деньги, так и пропускную способность пользователя.Вот почему наиболее распространенный подход - хранить счетчик в базе данных, а затем обновлять его при каждой операции записи и читать только счетчик, если вам нужно отобразить счетчик.Есть даже пример этого в документации Firestore о распределенных счетчиках .