我正在设计一个包含(很多)文档的应用程序,这些文档与(可能很多)组共享。
我需要了解如何将文档更改从服务器推送到客户端以构建我的数据模型。
onSnapshot
的内容?在模型(1)中,添加许多onSnapshot
(每个文档一个)的成本似乎很低。在模型(2)中,它可能很高,但它是服务器的负担?所有这些与火焰库定价模型(读取计数)有何关联。
感谢此灯上的任何灯光......
答案 0 :(得分:0)
实际上,答案在code:
/**
* A PersistentStream that implements the Listen RPC.
*
* Once the Listen stream has called the openHandler, any number of listen and
* unlisten calls calls can be sent to control what changes will be sent from
* the server for ListenResponses.
*/
export class PersistentListenStream extends PersistentStream< // ...
当我们创建onSnapshot
时,查询将被发送到服务器,该服务器会记住客户端感兴趣的内容并更新它的通知过滤器。
这意味着我们处于场景#2中,它解释了服务器打开连接的成本。
这也意味着我们不关心我们创造了多少onSnapshot
。关于客户端,为我们获得的每个文档执行一个onSnapshot
没有性能问题(但Firestore中有Read cost)。