Firebase查询以在iOS swift中按用户ID获取特定用户

时间:2017-05-17 14:57:21

标签: ios swift xcode firebase firebase-realtime-database

我有像这样的

的firebase数据库结构
"Users": {
    "ghjghjFc1S3KO0y8yJwORdfgret": {   //user ID
              "name": "John" 
    }

    "3uqWZJRFc1S3KO0y8yJwORTMtWC2": {   //user ID
              "name": "Smith"
    }

    "4SrHGdRFc1S8KO0y8yJwORTMtQAR": {   //user ID
              "name": "Alan"
    }

    "5fvxhaxFc1S8Kf0ygyJwORyMtFdy": {   //user ID
              "name": "Ben"
    }

}

我有一个数组:usersToRetreive = [" 5fvxhaxFc1S8Kf0ygyJwORyMtFdy"," 3uqWZJRFc1S3KO0y8yJwORTMtWC2"]

我想只检索那些在数组中提供了userID的用户&user; 39回复'

firebase是否支持此类查询?如果是,那么我如何在swift中进行此查询呢?

3 个答案:

答案 0 :(得分:1)

是Firebase支持此类查询。您必须在数据库引用上使用orderByChild()方法。此Firebase Youtube视频将介绍如何执行此操作。

Common SQL Queries converted for the Firebase Database - The Firebase Database For SQL Developers #4

答案 1 :(得分:0)

据我从您的问题中了解到,您正在尝试获取特定用户的ID信息在Arraylist中提供的所有信息。

首先,这种数据映射结构无法与Firebase竞争。没有特定的简便方法可以做到这一点。如果获取所有数据然后在本地搜索,那将是非常昂贵的。如果您使用这种方式,则可以在用户的​​信息上复制写有其ID号的信息。因为100万个字符将花费2MB左右。Firebase中重要的是如何使用TRAFFIC。不是内存。
您也可以使用Firebase BIGDATA查询。

答案 2 :(得分:-2)

只需对您的阵列进行for循环,然后单独获取每个用户,不要看到最大的问题..