Облачный пожарный магазин считал в StreamBuilder - PullRequest
0 голосов
/ 15 марта 2020

Структура базы:

enter image description here


Код:

Я использую StreamBuilder для документа uid, например:

@override
Widget build(BuildContext context) {
  return StreamBuilder<User>(
    stream: _stream(), 
    builder: (BuildContext _, AsyncSnapshot<User> snapshot) {
      // this block may get called several times because of `build` function
      if (snapshot.hasData) {
        final user = snapshot.data; 
        return SomeWidget(user: user);
      }
      return CircularProgressIndicator();
    },
  );
}

Вопросы:

  1. С StreamBuilder builder может вызываться несколько раз из-за метода build(), будет ли это стоить мне чтение каждый раз при вызове builder?

  2. Есть ли какая-то разница с точки зрения количества операций чтения при завершении чтения uid против чтения uid/education?

  3. Если я обновлю значения age и name, будет ли это считаться как одна запись или две записи с точки зрения количества записей в Firebase?

1 Ответ

0 голосов
/ 15 марта 2020

Пожарная плата за каждый документ, прочитанный, записанный и удаленный, следовательно:

Поскольку сборщик StreamBuilder может вызываться несколько раз из-за метода build (), будет ли это стоить мне чтение каждый раз, когда сборщик получает вызывается?

Да, если вы читаете (извлекаете) один документ каждый раз, то с вас будет взиматься плата за одно чтение.

Есть ли разница в число считываний при чтении полного UID против чтения UID / образования

Нет разницы. Чтение выполняется в документе, когда вы извлекаете один документ, тогда вы делаете одно чтение.

Если я обновлю значение возраста и имени, будет ли это считаться как одна запись или две записи в терминах of firebase write-count?

Если вы обновите один документ один раз (даже если обновлены все поля), это будет стоить вам одну операцию записи.

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