我问这个Firestore是否将相同的路径快照侦听器视为相同的服务器?但我有另一个问题,如果他们正在收听相同的文件集合,但不是完全相同的查询?如:
// First one
db.collection("testCollection").orderBy('time').limitToLast(100).onSnapshot(function(doc) {});
// Second one
db.collection("testCollection").orderBy('time').limitToLast(20).onSnapshot(function(doc) {});
第二个监听器在第一个监听器的范围内监听,Firestore是否将第二个监听器连接到服务器或只是从缓存中获取数据?
当您附加第一个侦听器时,您将不得不支付100次读取。当您将第二个侦听器附加到同一个查询时,但是您将结果限制为只有20个,那么您将不必支付20次读取,因为这20个文档已经在缓存中了。
因此,如果您在完全相同的客户机上激活了这两个侦听器,则第一个侦听器将从服务器获取数据,而第二个侦听器将能够从缓存读取数据。