使用 Angularfire 从 Firebase 获取特定键的数组

Get an array of specific keys from Firebase using Angularfire

我有以下 Firebase 结构:

面包店列表:

firebaseio.com/bakery/:id/stuffAboutTheBakery

面包师名单:

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

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

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

  1. 这个数据结构是文档中所说的扁平结构吗?或者有更好的方法来构建它吗?
  2. 如何将几个特定的​​面包店查询到一个数组中?

这是我当前的代码:

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);
    });

这里是 Firebase 团队成员。

回答您的问题:

1 - 这完全文档中扁平结构的含义!如果您将 bakery 数据放在 baker 下方,那将是不平坦的。我们建议将两者分开。

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

最近关于clientsinvoices。那应该向您展示足够的代码来开始您的工作。