我有这个用于存储用户及其朋友的结构,请注意每个用户节点中有一个名为friends
的节点,friends
节点内的对象的键是朋友用户ID。
"users" : {
"{user_1}" : {
"email" : "geek@live.com",
"firstName" : "Geek",
"friends" : {
"{user_2}" : {
"status" : "pending",
"with" : {
"firstName" : "Anna",
"profileImage" : "http://..."
}
}
}
} ,
"{user_2}" : {
"email" : "anna@live.com",
"firstName" : "Anna",
"friends" : {
"{user_1}" : {
"status" : "pending",
"with" : {
"firstName" : "Geek",
"profileImage" : "https://..."
}
}
}
}
}
我的目标是在一个查询中获取用户朋友,这是我尝试过的:
FIRDatabase.database().reference().child("users")
.queryOrderedByChild("friends")
.queryEqualToValue(currentUserID)
.observeEventType(.Value) { firDataSnapshot in
print(firDataSnapshot)
}
所以我试图让所有拥有当前userID的用户成为他们朋友节点中的密钥,但没有运气。
请注意,我只能查询用户内的节点,但是我不会获得朋友的完整用户节点