在Firestore文档中拆分大块数据

问题描述:

在保持读写操作最小的同时处理Firestore上的小块数据的最佳方法是什么?在Firestore文档中拆分大块数据

我们正在研究一个小问题陈述,我们希望为用户提供对他们在应用程序中看到的任何商店进行评分/查看的能力。

我看到的方法是创建一个商店的文档,其中包含商店的一些属性(商店名称,商店地址,汇总评级),然后创建评分/评论的子集合,将每个用户评级作为文档。

/stores/{storeid}/rating/{rating_from_each_user} 

但是这会导致大量的读取操作,每次有人试图从商店阅读评论。由于1MB的限制,我们无法保留1份文件中的所有评级,因此最终评级数量将增加,这不会扩展。

如果您有任何其他方法来记录最佳实践,请分享。

+0

使用Firebase数据库是因为读取次数没有问题。 –

+0

感谢您的回复@AlexMamo。但我对Firebase实时数据库的未来持怀疑态度,因为Firebase团队一直建议将Firestore用于所有新项目。 另外,如果我们稍后计划迁移,保留两个实例上的数据会导致困难。 对此Firestore实现有任何其他想法吗? –

+0

@KumarVivek我在Firebase团队,我认为你有错误的印象。如果你喜欢实时数据库,你应该继续使用它/在它上面构建新的应用程序。它不会去任何地方,Cloud Firestore不是替代品,只是另一种选择。 –

为了解决这个问题,我使用Firebase Realtime Database重温你。从火力地堡的官方博客在此post提到的,你可能仍然要使用实时数据库的原因之一是:

正如我们上面提到的,云计算公司的FireStore的定价模式意味着应用程序执行非常大量的小每个客户端的每秒读写次数可能会比实时数据库中类似执行的应用程序贵得多。

所以,你知道你的预算。在这种情况下,取决于你选择哪个选项。

希望它有帮助。