我想从Firebase数据库中拉出所有当前“待处理”的friendId。根据以下我的firebase数据,假设我的currentId为XXX,我希望我的脚本检索friendId(“ YYY”)。

数据库结构

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


检索未决朋友的功能

func fetchPendingFriends() {

    let currentUser = Auth.auth().currentUser!
    let postRef = self.databaseRef.child("friends").child(currentUser.uid)
    let query = postRef.queryOrdered(byChild: "friendId").queryEqual(toValue: "pending")
    query.observe(.value, with: { (snapshot) in
        for childSnapshot in snapshot.children {
            let friend = Friends(snapshot: childSnapshot as! DataSnapshot)

            self.friendArray.append(friend)

            self.tableView.reloadData()
        }
    })
}

最佳答案

我要做的实际上是将friendId保存为您的friendId分支的子级。

所以有这样的事情:

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

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


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

08-18 03:24