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