在iOS中的Firebase数据库中查询

时间:2018-09-21 06:27:32

标签: ios firebase firebase-realtime-database swift4.1

我正在使用Firebase数据库,我有以下数据,

enter image description here

我需要通过他的phoneNum获取一个用户的所有组名(GName),即特定用户的所有组,如何在Swift 4中获得它?

1 个答案:

答案 0 :(得分:1)

您应该考虑重组数据。如果用户属于您的应用程序中的多个组,那么您可能必须为该用户所属的数据结构中的每个组复制用户节点。您可以创建另一个JSON对象,该对象包含用户所属的所有组。这是适合您的JSON示例:

{
    "users": [{
        "xyz123": {
            "userId": "xyz123",
            "username": "user1",
            "phoneNum": "123456",
            "groups": [{
                "groupId": 1,
                "groupName": "aaa"
            }, {
                "groupId": 2,
                "groupName": "bbb"
            }]
        }
    }]
}

关于使用电话号码进行过滤,您可以将所有用户都包含在列表中,并使用电话号码条件过滤结果

result = result.filter({item.phoneNum == "123456"})

或获取用户的电话号码,使用电话号码条件调用.child()方法并获取特定用户。

还可以查看Firebase文档中的数据结构。

https://firebase.google.com/docs/database/ios/structure-data

希望有帮助。