javascript - 如何按键获取Firebase数据库(Angular)中的值(value)?

标签 javascript angular firebase firebase-realtime-database angularfire2

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

我的数据库结构如下:

db structure

我目前的解决方案是:

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

我想偏离这种方法,因为我不知道用户将获得更多属性,并且任何数据库更改都不会传递用户名,是否有任何方法可以仅按键搜索数据库并获取相应的属性值(value)。我知道 orderByChild 和 orderByKeys 存在,但我不明白它们是如何工作的,或者它们是否对这种特定情况有用。

最佳答案

使用 object 而不是列表,我可以通过其键轻松访问检索到的字典:

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

关于javascript - 如何按键获取Firebase数据库(Angular)中的值(value)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64911135/

相关文章:

javascript - 在 redux-observable 史诗中发送请求之前触发一个 Action

javascript - Angular 单元测试: How to unit test subscription inside ngOnInIt()?

angular - 在组件输入更改父级中传递的值

angular - REST API 调用的测试序列 - "there was no current spec"

java - 如何将用户重定向到 Cloud Firestore 中的特定 Activity ?

javascript - 如何将接收到的字符串拆分为代表 A4 页面的 DIV

javascript - Nativescript + Angular,如何在嵌套页面路由器导出中到达子路由?

android - Flutter、Firebase Crashlytics :/com_crashlytics_build_id. xml:资源和 Assets 合并:重复资源

javascript - 在 JavaScript 附加中调用带有参数的函数

ios - 登录后将用户重定向到特定页面