在Firebase Firestore中访问顶级集合

时间:2019-01-16 11:45:33

标签: angular firebase google-cloud-firestore

我目前正在使用firebase开发角度为5的网络应用。无论如何,我为此使用了angular / firestore2。

我遇到的问题是我无法访问我的顶级收藏夹。我的结构就像

集合(顶级集合['事件“])->文档(与userId相关)->集合->文档

如果我尝试访问

中的顶级

return this.db.collection('events').valueChanges();

它返回空数组,尽管该集合中有文档。无论如何,如果我进行新的自定义收藏,例如:

馆藏(顶级馆藏['tests'])->文档

我尝试在

中访问该集合

return this.db.collection('tests').valueChanges();

它返回内部包含文档的数组。。我真的很困惑,希望能得到任何帮助。

我正在使用https://github.com/angular/angularfire2进行Firestore /存储连接。

1 个答案:

答案 0 :(得分:0)

由于我不使用angular / firestore2,因此我不确定100%会发生什么情况,但是在documentation中说:“ AngularFirestoreCollection服务是本机Firestore SDK的CollectionReference的包装, Query种类型。”

Firestore中的查询是浅查询,因此,当您在子集合下的文档中进行修改时,不会触发在集合的父文档中声明的侦听器。

在“ {”}}方法的“标准” JavaScript SDK documentation中所解释的内容类似:“您可以使用onSnapshot()来收听 a 文档。方法。”它不包括文档的子集合中的更改。