Firebase - Firestore - 我会读多少时间阅读文档

时间:2017-10-15 10:53:58

标签: firebase observable google-cloud-firestore

使用Firebase的新Firestore,我发现我对Observables知之甚少。

我的问题如下:

我通过db.collection('room')得到一些数据。

  1. 如果我不通过订阅收听observable,我会获取该文档吗? (我想是这样)。

  2. 对于我的收藏“房间”的每次更改,它是否被Firestore视为“新文件阅读”?

  3. 如果我的应用程序中有重复的Observables返回db.collection('room'),我是否会对Firestore数据库进行X调用,还是只有一个?

  4. 谢谢!

1 个答案:

答案 0 :(得分:8)

  
      
  1. 如果我不通过订阅收听observable,我会获取文档吗? (我想是这样)。
  2.   

当您致电var ref = db.collection('room')时,ref实际上不是一个可观察的,它是对'room'集合的引用。创建此引用不会执行任何数据读取(来自网络或磁盘)。

当您致电ref.get()ref.onSnapshot()时,您将从服务器提取文件。

  
      
  1. 对于我的收藏“房间”的每次更改,是否被Firestore视为“新文件阅读”?
  2.   

如果您正在收听整个集合(没有where().orderBy()条款),并且您有一个活跃的onSnapshot()侦听器,那么您将收取每个文档读取操作的费用在集合中添加,更改或删除新文档的时间。

  
      
  1. 如果我在我的应用程序中有重复的Observables返回db.collection('room'),我是否会对Firestore数据库进行X调用或只调用一个?
  2.   

如果您在两个地方收听相同的Cloud Firestore数据,则只会对服务器进行一次调用,并且需要为读取操作付费一次。将多个侦听器附加到一个引用没有成本/性能损失。