Firebase с использованием слушателей против полного запроса - PullRequest
0 голосов
/ 27 октября 2019

Я хочу показать список клиентов (отсортированный по имени и показывать только первые 10), когда мое приложение открывается. Какой из следующих способов эффективен при использовании с firestore?

Approach1: когда приложение загружает запрос для 10 крупнейших клиентов. Это будет считаться как 10 документов, прочитанных пожарным. Правильно?

QuerySnapshot querySnapshot = await fireStore
          .collection('customers')
          .orderBy('fname')
          .limit(documentLimit)
          .getDocuments();

Подход 2: Настроить слушателя

QuerySnapshot querySnapshot = await fireStore
          .collection('customers')
          .orderBy('fname')
          .limit(documentLimit)
          .snapshots()
          .listen(someListener)  
  • Теперь, если я использую firestore, будет ли приведенный выше шаблон эффективен с точки зрения количества операций чтения?
  • Запускает ли кеш хранилища документов на стороне клиента между запусками приложения?

1 Ответ

0 голосов
/ 27 октября 2019
  1. В обоих примерах показано 10 исходных документов. Нет ничего «неэффективного» в любом запросе в Firestore, который будет удовлетворен сервером. То, что вы показываете сейчас, просто отличается тем, что первый будет запрашивать один раз, а второй будет постоянно получать результаты по мере их изменения, при этом каждый новый документ будет стоить еще одного чтения. Используйте варианты, которые соответствуют вашим потребностям. Если вам не нужно обновление в реальном времени, они не добавляют слушателя. Возможно это видео поможет вам решить, что вам действительно нужно.

  2. Да, для Android, iOS и веб-приложений. Прочитайте документацию об этом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...