Firebase:Cloud Firestore:listDocuments:doc读取成本是1还是N?分布式计数器的可能替代方案?

Firebase:Cloud Firestore:listDocuments:doc读取成本是1还是N?分布式计数器的可能替代方案?,firebase,google-cloud-firestore,Firebase,Google Cloud Firestore,构建社交媒体应用程序,并面临1write/doc/sec的限制。因此,在post文档中保留投票数据将无法大规模工作。我读过“分布式计数器”,但文档读/写成本呈线性扩展。我一直在探索可用的firebase函数,并对“listDocuments()”感兴趣,它返回DocumentReference的列表 不幸的是,翻阅文档时,我无法确定listDocument的读取成本是1还是集合中的1/doc 我的计划是每个帖子有两个子集,vote1/vote2。这消除了大规模写瓶颈。要检索投票计数,我想在每个子

构建社交媒体应用程序,并面临1write/doc/sec的限制。因此,在post文档中保留投票数据将无法大规模工作。我读过“分布式计数器”,但文档读/写成本呈线性扩展。我一直在探索可用的firebase函数,并对“listDocuments()”感兴趣,它返回DocumentReference的列表

不幸的是,翻阅文档时,我无法确定listDocument的读取成本是1还是集合中的1/doc

我的计划是每个帖子有两个子集,vote1/vote2。这消除了大规模写瓶颈。要检索投票计数,我想在每个子集合上使用listDocuments()的长度

我知道firebase有一些简洁的索引技巧,但我也很好奇这是否是对数据库的低效操作。i、 e.用户在检索计数时是否会注意到延迟

不幸的是,翻阅文档时,我无法确定listDocument的读取成本是1还是集合中的1/doc


调用
listDocuments
API需要为每个返回的文档读取一个文档。

就我个人而言,我不认为listDocuments的使用有任何可伸缩性。这是我担心的。我希望Firestore在收藏中有一些魔法索引来提供列表@DougStevenson,你知道列表文档的大小在哪里会变得低效吗?或者我在哪里可以找到更详细的文档来进行幕后操作?根据Dougs对这个问题的评论,我很好奇这对于1000多个文档的集合来说有多好。我希望Firestore能够在集合级别以某种方式对其进行索引。Firestore永远不会执行任何不使用索引的查询。关键是,您可能不应该依赖它作为获取文档计数的“廉价”方法。只要重新阅读所有内容,我就会意识到我误解了“API为每个返回的文档读取一个文档而花费的成本”,即为每个listDocuments调用读取一个文档。我将切换回分布式计数器。再次感谢。你知道有没有一份文件明确说明了这一点吗?这一切都有道理,但是。。。我搜索了一段时间,没有发现任何与这一说法相矛盾的东西,也没有发现任何直接支持这一说法的东西。