我正在使用一个实时聊天应用程序,该应用程序可以同时在同一聊天中包含数百个用户。我的问题是关于从Firestore提取用户个人资料的问题,是否应该限制一次调用中要提取的文档数量?我允许我的用户预览给定聊天中有多少人,因此,为了做到这一点,我通常必须提取用户集中的所有文档。
答案 0 :(得分:1)
通常,我建议不要检索超出应用内单个屏幕/视图的信息。将自己限制在“全屏”(或几屏)信息中,可确保您不必不必要地增加数据库账单或用户的带宽账单。
如果您有一个需要显示计数的用例,请考虑将实际计数存储在数据库中。如果您必须阅读大量文档来对它们进行计数,那么您既在浪费自己的钱,又在浪费用户的带宽。这就是为什么最常见的方法是将一个计数器存储在数据库中,然后在每次写操作时进行更新,并且在需要显示计数时仅读取该计数器。 Firestore documentation on distributed counters中甚至有一个示例。