Cloud Firestore实时更新是否可以侦听多个集合,即集合名称中包含变量?

时间:2018-07-10 20:43:03

标签: firebase google-cloud-firestore

此监听器效果很好:

firebase.firestore().collection('Users').doc($scope.user.uid).collection('Spanish').doc('Word_Response').onSnapshot(function(wordResponse) {

但是我们的语言比西班牙语更多。此监听器无效:

firebase.firestore().collection('Users').doc($scope.user.uid).collection($scope.longLanguage).doc('Word_Response').onSnapshot(function(wordResponse) {
在应用程序加载且侦听器开始侦听时,

$scope.longLanguage设置为American_English。用户可以切换到西班牙语,普通话,芬兰语等,从而更改$scope.longLanguage。问题在于,在侦听器中,变量$scope.longLanguage不变。我们可以即时更改集合吗,还是必须为每种语言(即每种集合)编写侦听器?

documentation表示我们可以收听一个集合中的多个文档(使用where过滤器),但不是说我们可以收听多个集合。

1 个答案:

答案 0 :(得分:2)

您目前没有查询范围集合,顶级集合或子集合。如果需要跨集合查询,则每个集合都需要一个查询,并且必须在客户端中合并查询结果。

另请参阅Firestore query subcollections