多个子集合的递增计数器

问题描述 投票:0回答:1

我正在构建一个应用程序,用户在事件上单击“开始”时,用户可以在其中增加与会者计数器。为了简化读取,在遵循特定组织者的用户之间的“事件”子集合中重复了事件。当组织者有每次用户在事件上单击“执行”时,都会有10000个关注者,该计数器必须在所有子集合中递增,在这种情况下,这是10000个文档写入。在特定情况下,复制数据是正确的选择,还是我应该参加阅读组织者的帖子,这样我就不必跨组织者的所有关注者更新此数据。 “转到”是一个非常频繁执行的操作,它不会更新可能每年一次的个人资料图片,但我希望每个用户每天都会在事件中单击“转到”几次,因为该应用程序允许您经常改变主意。

firebase google-cloud-firestore nosql denormalization
1个回答
0
投票

建模时没有“对”或“错”。如果您的应用通过实现的内容满足了其需求,并结合了Firestore's limitations的知识,则可以做任何您想做的事情。

但是,如果您的目标是通过执行额外的查找来避免10000次写入,那么请务必为自己节省麻烦和成本。您可能想要对这两种方法进行成本或性能估算,然后选择更便宜或更快速的方法,或者从该解决方案中选择所需的任何方法。

请注意,单个事务中限制为500个文档,因此,如果您需要更新10000个文档,则无法自动进行更新。如果您的代码对错误或不完整的工作没有适应能力,则某些文档可能根本无法获得更新。这可能是不散发如此多​​文档的充分理由。

© www.soinside.com 2019 - 2024. All rights reserved.