我正在尝试使用限制对消息集合查询进行分页。
_chatReference
.orderBy('createdAt', descending: true)
.limit(limit)
.snapshots()
.doOnListen(() => print('Chat stream started with limit $limit'))
.doOnCancel(() => print('Chat stream cancelled for limit $limit'))
一旦用户到达滚动末端,我就会增加限制。但是,当我增加限额时,我会收取最后限额 + 新限额的费用,还是仅收取新限额的费用?
例如-如果我以限制 20 调用查询,然后将其增加到 40,那么总读取计数是多少? 是40还是60?
如果在收听限制 40 的流之前取消了限制 20 的查询流怎么办?
如果您说当您第一次启动应用程序时,您会收到 20 个文档,那么您将被收取 20 个文档读取费用。如果您将限制从 20 增加到 40,这意味着您将需要额外支付 20 次文档读取的费用。所以总共会有 40 次读取。您不会因最初的 20 次读取而再次付费,因为这 20 个文档已在缓存中。
请注意,此机制仅在您附加实时侦听器时才有效。如果您打算使用
get()
调用,则每次执行查询时都需要支付文档读取费用。