在保持读写操作最小化的同时,在Firestore上处理小块数据的最佳方法是什么。
我们正在处理一个小问题陈述,我们希望为用户提供评估/审核他们在应用程序上看到的任何商店的能力。
我看到的方法是创建一个商店文档,其中包含商店的一些属性集(商店名称,商店地址,聚合评级),然后创建评级/评论的子集合,每个用户评级作为文档。
/stores/{storeid}/rating/{rating_from_each_user}
但这会导致大量的阅读操作,每次有人试图从商店阅读评论。此外,由于1MB的限制,我们无法将所有评级保留在1个文档中,最终评分数量会增加,而且不会缩放。
如果您有任何其他方法可以进行最佳实践,请分享。
答案 0 :(得分:0)
为了解决这个问题,我使用Firebase Realtime Database
重新命令你。正如Firebase官方博客中的post所述,您仍可能希望使用实时数据库的原因之一是:
正如我们上面提到的,Cloud Firestore的定价模式意味着每个客户端每秒执行大量小型读写操作的应用程序可能比实时数据库中类似性能的应用程序贵得多。
所以,你知道你的预算。在这种情况下,由您决定选择哪个选项。
希望它有所帮助。