Ios 按Swift中一个键的多个值筛选Firebase结果
我正在用Firebase和Swift构建社交网络应用程序。我有一个用户谁有一些以下的其他用户。我想为这个用户解析一个提要,它只包含他下面列表中的帖子。我的数据库如下所示:Ios 按Swift中一个键的多个值筛选Firebase结果,ios,objective-c,xcode,swift,firebase,Ios,Objective C,Xcode,Swift,Firebase,我正在用Firebase和Swift构建社交网络应用程序。我有一个用户谁有一些以下的其他用户。我想为这个用户解析一个提要,它只包含他下面列表中的帖子。我的数据库如下所示: "posts": { "postA": { "title": "Title for post A" "byUser": "userABC" } } "postB": { "title": "Titl
"posts": {
"postA": {
"title": "Title for post A"
"byUser": "userABC"
}
}
"postB": {
"title": "Title for post B"
"byUser": "userCBA"
}
}
"postC": {
"title": "Title for post C"
"byUser": "userBCA"
}
}
"postD": {
"title": "Title for post D"
"byUser": "userBCD"
}
}
}
"users": {
"userABC": {
"name": "John"
"following": {
"userCBA": "true"
"userBCA": "true"
}
}
"userCBA": {...}
"userBCA": {...}
"userBCD": {...}
}
因此,我们的想法是为userABC
的以下列表(postB
&postC
)显示过滤后的帖子。我应该提出什么Firebase请求
附言:我唯一的想法是向每个用户发出几个firebase请求,让他们下载帖子,然后将这些帖子附加到一个数组中,然后按时间戳排序数组对象。但是想象一下,有成千上万的追随者,每个人都有上千篇帖子。。这将是一场灾难
p.p.S.:我无法根据Firebase“安全和规则”调整结果,因为我想显示搜索中所有用户的所有帖子
非常感谢 在NoSQL中,您通常根据应用程序希望使用的方式对数据进行建模。由于您希望向用户显示他们关注的人的帖子的提要/墙,请在数据库中对其进行建模:
"user_walls": {
"userABC": {
"KeyOfPost1FromUserCDA": true
"KeyOfPost2FromUserBCA": true
"KeyOfPost3FromUserCDA": true
},
"userBCA": {
"KeyOfPost1FromUserCDA": true
"KeyOfPost3FromUserCDA": true
"KeyOfPost4FromUserABC": true
},
etc
}
这里我们只存储帖子的键,但您也可以存储更多信息,而不仅仅是true
。这是一个称为非规范化的过程
对于这一点以及更相关的建议,我建议如下
有关以这种方式对其数据建模的优秀示例应用程序,请参阅FireFeed: