I have a two-part question. After reading through Firestore pricing, it says that you are charged based on the number of documents you read and write and the operations you perform such as deleting and some other factors. With that being said, I am using a StreamBuilder that continually refreshes itself whenever the list is scrolled whether there is new data in the database or not. Right now, the builder is fetching from a collection with very little data but that collect can grow to be bigger. With that being said, my questions are:
Each time the
StreamBuilderrefreshes itself to show new data, is it actually fetching all the documents again from theFirestore collectionor is it only looking for changes and updating them? If it is fetching the documents again fromFirestore, doesFirestoreconsider this as downloading multiple documents each time it refreshes or does it count it only once and if there are updates to any new document fetched, those are counted separately?If it fetches all the documents over and over again every 2 seconds or even less as in the current behavior, is there a way to limit this say to every 30 seconds or to when every a
RefreshIndicatoris used so as to avoid multiple unnecessary reads? I tried using aStreamControllerbut thestreamstill refreshes every time the list is touched or every second.