【发布时间】:2018-10-16 22:24:16
【问题描述】:
我有一个有点复杂的 Firebase 设置,我想知道是否有可能在一次调用中获取与特定用户关联的所有数据。
我的 Firebase 架构如下图所示:
到目前为止,我已经做了类似的事情,但我认为必须有更好的方法(比如使用 UID 获取数据而不是手动解析整个 db 对象)
export class AdminComponent {
items: FirebaseListObservable<any[]>;
private xyz: string;
private firebaseList: FirebaseListObservable<any[]>;
constructor(db: AngularFireDatabase, private router: Router, private route: ActivatedRoute) {
this.firebaseList = db.list('/');
this.items = this.firebaseList.subscribe(items => {
const dbAnalytics = items[0];
const dbBookings = items[1];
const dbClasses = items[2];
const dbLabs = items[3];
const dbMachines = items[4];
const dbPostLabs = items[5];
const dbPreLabs = items[6];
const dbUsers = items[7];
for (const key in dbUsers) {
if (dbUsers.hasOwnProperty(key)) {
const userData = dbUsers[key];
const userEid = userData['eid'];
const userFullName = userData['name'];
console.log(userEid, userFullName);
}
}
for (const key in dbPostLabs) {
if (dbPostLabs.hasOwnProperty(key)) {
const postLabData = dbPostLabs[key];
// Figure out why these objects are weird
}
}
});
}
}
感谢所有建议。
【问题讨论】:
标签: javascript firebase firebase-realtime-database angularfire2