由本地更改激活的 Firestore 快照侦听器的成本

Cost of Firestore snapshot listeners activated by local changes

我了解文档的快照侦听器会在创建时以及激活/提供数据时读取。

当激活是由对文档的本地写入触发时也是这种情况吗(我认为,数据被反弹回客户端内的侦听器并且数据不会从服务器返回,因为没有差异)?

即如果您将快照侦听器添加到 99% 的时间都在本地编辑的文档,那么您现在是否至少需要读取与写入相同的次数?

If you add a snapshot listener to a document being edited locally 99% of the time, are you now on the hook for, at minimum, the same number of reads as writes?

侦听器不对文档写入收费。它只对查询读取的文档的更改收费。

很有可能,尽管不是绝对确定,您对文档所做的所有写入最终都会向该文档上的活动侦听器收取读取费用,因为每次写入都会命中服务器,然后会导致对侦听器的回调那种变化。你应该准备好接受这笔费用。

如果客户端应用程序在写入期间处于离线状态,则不会向您收取立即监听器回调的费用。仅在实际从服务器检索更新的文档时才会产生费用。

如果您希望降低读取成本,您可能需要去抖动文档写入。