嗨,我是Cloud Firestore的新手。我正在使用内部带有ListView.builder的StreamBuilder从Firestore获取文档。 我想知道哪种方法更好。
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,
)
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,
)
从逻辑的角度来看,两者看起来都是一样的(也许我想得太过分了),但是我担心由于我使用的是免费的Spark计划,因此读取的费用是否比其他读取费用高。 我确实需要将所有文档放入收藏夹中。
答案 0 :(得分:0)
我确实需要获取馆藏中的所有文档。
如果您需要集合中的所有文档,则每个文档的读取费用为1。从计费的角度来看,这就是您所需要知道的。将查询快照交付给客户端后,您的操作完全由您决定,并且对计费没有影响,因为此时的所有内容都已存储在内存中。选择您更喜欢的那个。