ios - Swift:查找 Firebase 数据库中是否存在成员

标签 ios swift firebase swift2 firebase-realtime-database

我是 Firebase 新手,也是 Swift 新手,我发现在使用查询检索数据时遇到问题。

我的目标如下:

  1. 查找特定用户所属的群组

我尝试通过创建仅包含组成员的对象(使用它的 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/

相关文章:

ios - Xamarin.iOS 错误 : The Apple iOS SDK is not installed.(iOS9、XCode 7 测试版)

ios - 删除字符串范围内的字符

ios - 如何在 Swift 4 中按列值对 UITableView 进行排序?

带有 firebase 计时问题的 javascript

ios - UIActionSheet 没有显示在 ios8 窗口中?

ios - ios 6.0及以上版本获取谷歌地图的方法

swift - 可打印字符串插值不起作用

iOS:Google Places Pod - 将 Pod 版本升级到 3.1.0 后出现使用限制错误

java - Android:如何从 Firebase 中的当前用户检索数据?

android - 由于 META-INF 文件,Firebase MLKit 无法构建