Firebase数据结构

时间:2017-10-02 03:55:21

标签: swift firebase firebase-realtime-database

我想从我的Firebase数据库中提取当前正在等待的所有friendId"。根据我的firebase数据,假设我的currentId是XXX,我希望我的脚本检索friendId(" YYY")。

数据库结构

SRef.cs

检索待处理好友的功能

friends
 - XXX (currentUserId)
   - YYY (friendId)
     - completed: "pending"
 - ZZZ 
   - AAA 
     - completed: "pending"

2 个答案:

答案 0 :(得分:0)

我要做的是将friendId保存为friendId分支的子项。

所以有这样的事情:

friends
 - XXX (currentUserId)
   - YYY (friendId)
     - completed: "pending"
     - friendId: "some id"

 - ZZZ 
   - AAA 
     - completed: "pending"
     - friendId: "some id"

你可以从那里解析它,就像解析completed

一样

答案 1 :(得分:0)

要实现您的目标,您需要通过添加名为pendingList的新节点来稍微更改数据库结构。您需要以这种方式执行,因为无需下载整个friends对象,以便在数据库中查询待处理的朋友。所以你的数据库结构应如下所示:

Firebase-root
    |
    --- pendingList
        |
        --- XXX (currentUserId)
        |      |
        |      --- YYY: true  //friendId
        |      |
        |      --- HHH: true  //friendId
        |      |
        |      --- GGG: true  //friendId
        |
        --- ZZZ
           |
           --- TTT: true  //friendId

通过这种方式,您可以通过在Firebase-root -> pendingList -> currentUserId

上附加一个监听器,简单地查询数据库中所有属于单个用户的待处理好友。