gpt4 book ai didi

javascript - 获取与特定 UID 关联的所有 Firebase 数据

转载 作者:行者123 更新时间:2023-12-03 00:55:48 25 4
gpt4 key购买 nike

我的 Firebase 设置有些复杂,我想知道是否可以在一次调用中获取与特定用户关联的所有数据。

我的 Firebase 架构如下图所示:

enter image description here

到目前为止,我已经做了类似的事情,但我认为一定有更好的方法(比如使用 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
}
}

});

}

}

感谢所有建议。

最佳答案

我假设您只想从数据库中获取单个对象,而不是获取所有对象,这样您就可以执行类似的操作。此外,如果我可以看到扩展数据的样子,回答起来会更容易.

如果您已经知道对象的 uid,您可以执行类似的操作

this.db.database.ref(`labs/${uid}`).once('value')

或者,如果您只想要其中一个对象的整个列表

this.db.list('labs/', ref => ref.orderByChild(<object key>).equalTo(<desired key value)).valueChanges();

希望这有帮助。如果这不是您所需要的,如果数据被扩展,我可能会再次回答更好。

关于javascript - 获取与特定 UID 关联的所有 Firebase 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52844812/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com