首页 > 解决方案 > 从 Firebase db 获取数据,返回时没有键值

问题描述

我正在使用 REST 调用从 Firebase 数据库中检索数据。所以我有一个看起来像这样的数据

user
{
    123456: 
     {
       Email: "test@hotmail.com", 
       Password: "John Doe"
     }

    654321: 
     {
       Email: "test2@hotmail.com", 
       Password: "Jane Doe"
     }
}

我使用的查询是

firebaseurl/user.json?orderBy="Email"&equalTo="test@hotmail.com"

如果我在没有检索键值的情况下进行查询,是否有可能123456?因为每当我尝试使用数据时,例如console.log(user.Email),我都会变得不确定。但是当我这样做时,我console.log(user[123456].Email)会得到我想要的结果。

我可以知道是否有办法做到这一点?或者一种无需 . 即可访问子元素的方法user[keyvalue]

标签: jsonrestfirebase

解决方案


正如预期的那样,您只能使用一条记录作为回报: const user = obj[Object.keys(rslt)[0]]

或者你可以遍历键

const usersArr = Object.keys(rslt).map(usr => {
    ... manipulate usr 
    return usr
})

推荐阅读