Лучший подход во флаттере с использованием firestore без чтения - PullRequest
0 голосов
/ 12 июля 2020

Привет, я новичок в облачном хранилище огня. Я использую StreamBuilder с ListView.builder внутри, чтобы получить документы из firestore. Мне было интересно, какой из них будет лучшим подходом.

  1. Получение индекса всех документов по индексу внутри ListView.builder
ListView.builder(itemBuilder: (context, index){
                  final time = snapshot.data.documents[index].data['time'];
                  final date = snapshot.data.documents[index].data['date'];
                  final location = snapshot.data.documents[index].data['location'];
                  final eventName = snapshot.data.documents[index].data['event_name'];
                  return UpcomingEventCard(
                    time: time,
                    date: date,
                    location: location,
                    eventName: eventName,
                  );
                },itemCount: snapshot.data.documents.length,
                )
Получение всех документов сразу, а затем использование списка внутри ListView.bulder, например, вот так
final eventSnapshots = snapshot.data.documents;
ListView.builder(itemBuilder: (context, index){
                  final time = eventSnapshots[index].data['time'];
                  final date = eventSnapshots[index].data['date'];
                  final location = eventSnapshots[index].data['location'];
                  final eventName = eventSnapshots[index].data['event_name'];
                  return UpcomingEventCard(
                    time: time,
                    date: date,
                    location: location,
                    eventName: eventName,
                  );
                },itemCount: snapshot.data.documents.length,
                )

Оба выглядят одинаково с точки зрения logi c (возможно, я Я слишком много думаю), но меня беспокоит, стоит ли какое-либо чтение не больше, чем другое, поскольку я использую бесплатный план Spark. Мне нужно собрать все документы в коллекцию.

1 Ответ

0 голосов
/ 12 июля 2020

Мне нужно получить все документы внутри коллекции.

Если вам нужны все документы в коллекции, то для каждого документа будет стоить 1 чтение. Это все, что вам нужно знать с точки зрения выставления счетов. Что вы будете делать с моментальным снимком запроса после его доставки клиенту, полностью зависит от вас и не влияет на выставление счетов, так как в этот момент все в памяти. Выберите тот, который вам удобнее.

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