【发布时间】:2019-05-04 06:58:01
【问题描述】:
在此视频https://youtu.be/o7d5Zeic63s?t=145 中,它说文档的每秒写入次数限制。
如果您正在制作评论应用程序,并且您希望保留餐厅文档的 5、4、3、2、1 星级评分的评论数量,您将如何为具有大量并发用户的应用程序执行此操作然后?想想像foursquare这样的流行应用程序......我认为在这种情况下不可能像这样在餐厅文档本身中保留评分数量:
Restaurant:
- name
- address
- ratings
- 1 start: count
- 2 stars: count
- 3 starts: count
- 4 stars: count
- 5 starts count
如果同一家餐厅的星数更新尝试超过 1 次,这将失败,这在这个流行的应用案例中很有可能。
在这种情况下,我可以考虑保留一个 RATINGS 子集合并为每个评级记录一个评级文档。然后我可以获得 4 星评论的评分。但是,当我尝试计算具有 4 星评级的文档时,如果有 30k 4 星评级,是否会像 30k 阅读账单一样?如果不收取 30k 次读取费用,您如何获得此计数?
您将如何避免这种情况以及如何保持/更新餐厅的星级数量?
编辑:我看过这个帖子:How to get a count of number of documents in a collection with Cloud Firestore
在这种情况下,建议的解决方案都不起作用。因为我们假设星级评分的计数每秒增加/减少超过 1 个。
【问题讨论】: