如何通过键获取Firebase数据库(Angular)中的值?

您好,我的目标是通过键在数据库中获取嵌套值。在本例中,我只想获取当前登录用户的用户名。

我的数据库的结构如下:

https://img2.mukewang.com/64df30df0001803403590334.jpg

我当前的解决方案是:

this.db.list("/Users/"+this.userId).valueChanges().subscribe(details => { 
 this.username = details[3]
}

我想偏离这种方法,因为我不知道用户将获得哪些更多属性,并且任何数据库更改都不会传递用户名,是否有任何方法仅按键搜索数据库并获取其各自的值。我知道 orderByChild 和 orderByKeys 存在,但我无法确切理解它们是如何工作的,或者它们对于这个特定情况是否有用。


慕妹3146593
浏览 196回答 2
2回答

森栏

使用对象而不是列表,我可以通过其键轻松访问检索到的字典:this.db.object("/Users/"+this.userId).valueChanges().subscribe(details => {   this.username = details["Username"] }

翻翻过去那场雪

我宁愿使用object:this.db.object("/Users/" + this.userId).valueChanges()  .subscribe(details => {    this.username = details.Username;  });https://github.com/angular/angularfire/blob/master/docs/rtdb/objects.md#retrieve-data
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript