我想从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