使用Angularfire从Firebase获取一系列特定键

时间:2015-11-13 15:24:12

标签: javascript angularjs firebase angularfire

我有以下Firebase结构:

面包店清单:

firebaseio.com/bakery/:id/stuffAboutTheBakery

面包师名单:

firebaseio.com/baker/:id/bakery/bakeryId

面包师可以为几家面包店提供面包,所以在面包师的详细信息中我有一个对象,列出他们使用面包店ID作为关键字和值为true的所有面包店。

在我的应用中,我有一个面包师$firebaseObject。我想得到一个数组,其中包含他们所服务的面包店的详细信息。我显然可以去每个终点,但肯定有更好的方法。所以我的问题是:

  1. 这个数据结构是平面结构的文档意味着什么?或者有更好的方法来构建它吗?
  2. 如何在阵列中查询多个特定面包店?
  3. 这是我目前的代码:

    self.baker = $firebaseObject(firebase.baker.child($stateParams.id));
    
    self.baker.$loaded()
      .then(function() { 
        self.bakeries = [];
          for (var bakery in self.baker.bakeries) {
            self.bakeries.push($firebaseObject(firebase.bakery.child(bakery)));
          }
        })
        .catch(function(err) {
          console.error(err);
        });
    

1 个答案:

答案 0 :(得分:1)

Firebase团队成员。

回答你的问题:

1 - 这是完全文档的平面结构意味着什么!如果您将bakery数据放在baker下面,那么什么是不平坦的。我们建议将两者分开。

2 - 由于您有一个对象存储面包店的面包店ID,您可以获得该面包师的所有面包店。您可以同步该对象,然后对于每个面包店,您可以创建一个给定ID的数组。但要小心,因为它不会下载太多数据,因为它会使您的应用程序变慢。

answered a similar question最近关于clientsinvoices。这应该会告诉你足够的代码来启动你。