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

Wan*_*lle 5 observable firebase google-cloud-firestore

通过Firebase的新Firestore,我发现我对Observables知之甚少.

我的问题如下:

我用db.collection('room')获得了一些数据.

  1. 如果我不通过订阅收听observable,我会获取文档吗?(我认同).

  2. 对于我的收藏"房间"中的每一个变化,它是否被Firestore视为"新文档阅读"?

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

谢谢!

Sam*_*ern 12

  1. 如果我不通过订阅收听observable,我会获取文档吗?(我认同).

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

当您致电ref.get()ref.onSnapshot()从服务器获取文档时.

  1. 对于我的收藏"房间"中的每一个变化,它是否被Firestore视为"新文档阅读"?

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

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

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

  • 谢谢,现在我对自己的代码更有信心。 (2认同)