我试图显示所有用户的所有事件,但到目前为止,我只是只显示当前事件。
这是我的代码:
self.dbRef.child("user_profiles").child(self.activeUser!.uid).observeSingleEvent(of: .value) { (snapshot: FIRDataSnapshot) in
self.activeUserData = snapshot.value as? NSDictionary
//Get Events
self.dbRef.child("events/\(self.activeUser!.uid)").observe(.childAdded, with: { (snapshot: FIRDataSnapshot) in
self.events.append(snapshot.value as! NSDictionary)
self.homeTableView.insertRows(at: [IndexPath(row:0, section:0)], with: UITableViewRowAnimation.automatic)
self.aivLoading.stopAnimating()
}
){(error) in
print(error.localizedDescription)
}
}
我的Firebase树如下所示:
events
- UserID (user who posted the event)
- eventID
- eventDetails
有没有办法显示所有用户的所有活动?或者我的数据库是否需要重组?如果是这样,怎么样?
答案 0 :(得分:0)
由于您的Firebase树看起来像:
events
- UserID (user who posted the event)
- eventID
- eventDetails
要获取所有用户获取所有用户ID所需的所有事件,您只需循环访问用户ID并获取所有事件。
或者您可以重构Firebase,如:
events
- eventID
- eventDetails
- userID (user who posted the event)
在用户孩子中:
user
- userID
- events
- eventID