【问题标题】:How do I retrieve firebase child data without also retrieving the key?如何在不检索密钥的情况下检索 Firebase 子数据?
【发布时间】:2019-04-04 03:00:00
【问题描述】:

我目前正在尝试获取数组中没有键的子数据,以便将其添加到我的 redux 状态。

ref.orderByChild(`userId`).equalTo(googleUserInfo[0].userId).once('value', streamSnapshot => {
        if (streamSnapshot.exists()) {
          googleUserInfo[0] = (streamSnapshot.val())
        }

目前返回

[{…}]0: {-LbJneodI2SaUglB6fwx: {…}}length: 1__proto__: Array(0)

但我想要这个

[{…}]
0:
{
displayName: "Seth Jones"
userAvi: "https://lh6.googleusercontent.com/-RABcz3kK1ew/AAAAAAAAAAI/AAAAAAAAAAA/ACHi3rfzHCLV9A7LfiGWKtTOuq5rJmtQpg/s96-c/photo.jpg"
userEmail: "xxxx@gmail.com"
userFirstName: "Seth"
userId: "103977654052015523435"
userLastName: "Jones"
}

【问题讨论】:

    标签: javascript firebase firebase-realtime-database


    【解决方案1】:

    当您对 Firebase 数据库执行查询时,可能会有多个结果。所以快照包含这些结果的列表。即使只有一个结果,快照也会包含一个结果的列表。

    您需要遍历结果以获取各个值:

    ref.orderByChild('userId').equalTo(googleUserInfo[0].userId).once('value', streamSnapshot => {
        streamSnapshot.forEach((child) => {
          googleUserInfo[0] = (child.val())
        });
    

    【讨论】:

    • 谢谢老兄!简短而甜蜜,正是我所需要的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-18
    • 2013-07-18
    相关资源
    最近更新 更多