【问题标题】:Can Cloud Firestore realtime updates listen to multiple collections, i.e., with a variable in the collection name? [duplicate]Cloud Firestore 实时更新能否监听多个集合,即集合名称中有一个变量? [复制]
【发布时间】:2018-12-18 19:03:13
【问题描述】:

这个监听器效果很好:

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 过滤器),但没有说我们可以收听多个集合。

【问题讨论】:

    标签: firebase google-cloud-firestore


    【解决方案1】:

    您目前不能有一个查询跨集合,既不是顶级集合,也不是子集合。如果需要跨集合查询,每个集合需要有一个查询,并且必须在客户端合并查询结果。

    另见Firestore query subcollections

    【讨论】:

      猜你喜欢
      • 2021-03-06
      • 2019-02-14
      • 1970-01-01
      • 2018-07-14
      • 2021-10-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多