我是FireBase的新手,我试图设置一个简单的数据库。这是我的数据:AngularFire2 - 按数组筛选的列表
{
"employees" : {
"employee1" : {
"name" : "Anthony"
},
"employee2" : {
"name" : "John",
"reviews" : {
"review1" : true,
"review2" : true,
"review3" : true
}
}
},
"leaders" : {
"leader1" : {
"company" : "Strawberry",
"name" : "Martin",
"reviews" : {
"review1" : true
}
},
"leader2" : {
"company" : "Blueberry",
"name" : "Carlos",
"reviews" : {
"review2" : true,
"review3" : true
}
},
"leader3" : {
"company" : "Greenberry",
"name" : "Peter"
}
},
"reviews" : {
"review1" : {
"comment" : "Test1",
"date" : "Thu Jul 06 2017 14:00:51 GMT+0200 (CEST)"
},
"review2" : {
"comment" : "Test2",
"date" : "Thu Jul 06 2017 14:00:51 GMT+0200 (CEST)"
},
"review3" : {
"comment" : "Test3",
"date" : "Thu Jul 06 2017 14:00:51 GMT+0200 (CEST)"
}
}
}
}
我想以下功能:
- 获得评论对投资者
- 获得评论写雇员
我的问题有以下几种:
- 是根据我的功能需求,我的数据结构是否正确?
- 我应该用什么查询来完成这些功能?我曾经想过先获得领导者对象,然后根据领导者评论数组获得某种过滤器的评论。
- 如果可以得到领导和相关的评论,所有在一个查询中,这将是伟大的。
举一个例子,假设我想获得leader1的评论。
db.object('/leaders/leader1').subscribe(res => {
this.leader = res;
//THIS IS THE PROBLEM: GET REVIEWS ON LEADER
db.list('/reviews', {
query: {
equalTo: this.investor.reviews
}
}).subscribe(queriedList => {
this.reviews = queriedList
});
});
谢谢。
我给你的建议的一块,“是我的数据结构是否正确,根据我的功能需求?“这种类型的问题在这里是关于stackoverflow的话题。另外你在这里遇到什么问题?现在你的问题太广泛了。 “请编辑问题以将其限制为具有足够详细信息的特定问题,以便找出适当的答案。避免一次询问多个不同的问题。请参阅[如何提问](https://stackoverflow.com/help/how-问)页面帮助澄清这个问题。“ –
感谢您花时间回复,Fabio。我不知道数据结构不允许在Stack Overflow上得到解答,所以我对此表示歉意。感谢您将我与How To Ask页面联系起来,但是,如果您删除了数据结构问题,则只剩下一个问题 - 我应该使用哪些查询来完成这些功能?请让我知道是否有任何具体的错误来回答我的问题。 –
这不是关于数据结构,而是关于询问“x是否正确”或“我是否是最好的方式?” –