我有以下Firebase结构:
面包店清单:
firebaseio.com/bakery/:id/stuffAboutTheBakery
面包师名单:
firebaseio.com/baker/:id/bakery/bakeryId
面包师可以为几家面包店提供面包,所以在面包师的详细信息中我有一个对象,列出他们使用面包店ID作为关键字和值为true的所有面包店。
在我的应用中,我有一个面包师$firebaseObject
。我想得到一个数组,其中包含他们所服务的面包店的详细信息。我显然可以去每个终点,但肯定有更好的方法。所以我的问题是:
这是我目前的代码:
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);
});
答案 0 :(得分:1)
Firebase团队成员。
回答你的问题:
1 - 这是完全文档的平面结构意味着什么!如果您将bakery
数据放在baker
下面,那么什么是不平坦的。我们建议将两者分开。
2 - 由于您有一个对象存储面包店的面包店ID,您可以获得该面包师的所有面包店。您可以同步该对象,然后对于每个面包店,您可以创建一个给定ID的数组。但要小心,因为它不会下载太多数据,因为它会使您的应用程序变慢。
我answered a similar question最近关于clients
和invoices
。这应该会告诉你足够的代码来启动你。