我试图做一个与firebase的示例应用程序,我不太明白我应该如何检索嵌套受宠若惊的数据。加入不同的节点,立即观察它们与火力点
让我们假设我有这样
{
"users": {
"user-1": {
"email": "email1",
"matches": [
"match-1",
"match-2"
]
},
"user-2": {
"email": "email2",
"matches": [
"match-1",
"match-2"
]
},
"user-3": {
"email": "email3",
"matches": [
"match-2"
]
}
},
"matches": {
"match-1": {
"name": "Match 1",
"users": [
"user-1",
"user-2"
]
},
"match-2": {
"name": "Match 2",
"users": [
"user-1",
"user-2",
"user-3"
]
}
}
}
分贝,我想获得用户1的所有比赛。 我现在正在做的是观察users.user-1.matches拿到比赛名单,然后观察每场比赛,因此最终流程是:
- 观察users.user-1.matches
- 观察matches.match-1
- 观察matches.match-2
- ...
的问题是:如何优化这个流程? (喜欢做的东西像SQL JOIN)
我的想法是让这样的事情
{
"users": {
"user-1": {
"email": "email1",
"matches": {
"match-1": {
"name": "Match 1",
"users": [
"user-1",
"user-2"
]
},
"match-2": {
"name": "Match 2",
"users": [
"user-1",
"user-2",
"user-3"
]
}
}
}
}
}
,所以我可以观察整个结构的一次。
我在iOS上使用的是firebase,但可随时用您喜欢的任何语言回复。
谢谢。
请参阅http://stackoverflow.com/questions/40783240/firebase-in-clause-query-and-lists-of -datas/40808561#40808561(通过[搜索firebase swift提及'join'](http://stackoverflow.com/search?q=%5Bfirebase%5D%5Bswift%5D+join))。 –