我现在处于该项目的开发阶段。目前,该项目仅使用一个Android应用作为前端。来自Android的查询(使用限制和分页)。但是读取的文档总数远远超过了预期的数量。
我试图弄清楚,为什么即使用户只有一个(我),读取的文档仍然如此之多。我担心,如果阅读次数如此之多,该项目将不可行。那就是为什么我需要弄清楚Firestore的读取行为
当我访问firestore仪表板并选择一个集合(如下图所示)时,它将显示蓝色的加载指示器,然后显示所有可用的文档。目前在活动收集中,我有52个文档。为了调试目的,我多次访问了这样的事件集合中的所有文档。
因此,每当我点击该事件集合时,我都将其视为52个读取操作,因此读取操作将不仅来自Android设备,而且来自仪表板?这就是为什么读取次数如此之大的原因。我说的对吗?
如果是这种情况。...
假设我的事件收集中有100000个文档,那么每当我点击该事件收集时,我也会执行100000个读取操作吗?有没有办法限制此仪表盘的读取?
答案 0 :(得分:1)
那么读取操作将不仅来自Android设备,而且来自仪表板?这就是为什么读取次数如此之大的原因。我说的对吗?
是的,你是对的。
假设我在事件集合中有100000个文档,那么每当我点击该事件集合时,我也会执行100000个读取操作吗?
否,您只需要为属于第一页的文档数付费。在控制台内部,有一个为此特别实现的分页机制。因此,您可以不收取您收藏集中的所有文档的费用。
是否有一种方法可以限制此仪表板的读取?
该限制已经存在,但是请注意,随着向下滚动,您会获得更多文档,这意味着要承担更多的写操作。
答案 1 :(得分:0)
关于Firebase控制台,要记住的一件事是,它实时反映了对可见文档的更改,并且这些更改中的每一项也会使您阅读。因此,如果在文档更改时将控制台保持打开状态,那么即使您没有积极使用控制台,也会随着时间的推移累积读取。这是意外读取的常见原因。