【发布时间】:2018-01-09 10:16:44
【问题描述】:
我有一个值需要与一组值进行比较。基本上,用户需要检查它是否与另一个用户有相同的项目。但是我正在努力解决这个问题,因为我如何获得一组用户的项目?通常,当您观察一个值时,您会执行以下操作:
Database.database().reference(withPath: "users/\(userID)/itemList").observeSingleEvent...
但是,当涉及到用户 itemList 数组时,如果有多个 ID,如何实现呢?我想将一个或多个用户项目与其他用户项目进行比较,并检查它们是否匹配,以便对匹配的用户数组进行排序。
如果已经有这方面的示例,请帮助指导我。
更新
这就是我的数据结构的样子:
{
"users": {
"EWJGFYmVTzOiHgnq42ebhrg2fj": {
"firstName": "Friederike",
"itemList": [
2: true,
3: true,
0: true
]
},
"C076OYmVTzOiHgnq4wPQtY2XpED2": {
"firstName": "Ian",
"itemList": [
0: true,
1: true,
3: true
]
},
"Juoiuf0N6qNmkm32jrtu6X6UK62": {
"itemList": [
0: true
],
"firstName": "Jack"
}
}
}
更新 2.0
有了下面的答案,我可以查询项目表,但仍然无法查询匹配的键,因为可能有 多个 数组,因此我不能用它来过滤或任何东西。
【问题讨论】:
-
要做到这一点,您可能必须调整您的数据结构。请发布它,以便我提供帮助。
-
@DoesData 请查看更新后的问题。所以基本上你是用户 Juoiuf0N6qNmkmUM4qYlM6X6UK62 并且你只想用与你匹配的 itemList 查询用户。
标签: ios swift firebase firebase-realtime-database