我是 Firebase 新手,也是 Swift 新手,我发现在使用查询检索数据时遇到问题。
我的目标如下:
- 查找特定用户所属的群组
我尝试通过创建仅包含组成员的对象(使用它的 AutoId 键)来展平数据。
{ groupMembers:
-KM0fTdaN2D_BKkvlk34:
user1: true
user2: true
user3: true
}
-KM4ZaXCvALCV_gN74U8: {
user3: true
user4: true
}
}
我尝试使用以下代码来运行用户列表,尝试仅提取相关组。不幸的是,我收到了 InvalidQueryParameter 错误。
let groupMemberRef = rootRef.child("groupMembers")
func userFilter(list: [String]) {
// list is a list of different users (strings) I'm looking through the groups to try to find
for user in list {
groupMemberRef.queryEqualToValue(true, childKey: user).observeSingleEventOfType(.ChildAdded, withBlock: { (snapshot) in
print(user)
print(snapshot)
print(snapshot.hasChild(user))
})
}
我的方向正确吗?我已经尝试了数十种其他策略来链接这些方法,但没有任何运气。 感谢您的帮助 - 我真的非常感谢!!
最佳答案
您需要在每个用户下存储一个组 ID 列表,跟踪每个用户所在的组。 您的数据库结构应该类似于:
Users: {
User_id_1: {
Name: "user name",
...
Groups: {
group_id_1: true,
group_id_2: true,
...
}
}
},
Groups: {
group_id_1: {
user_id_1: true,
...
}
}
关于ios - Swift:查找 Firebase 数据库中是否存在成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38253744/