我目前正在尝试获取数组中没有键的子数据,以便将其添加到我的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"
}
答案 0 :(得分:0)
对Firebase数据库执行查询时,可能会有多个结果。因此,快照包含这些结果的列表。即使只有一个结果,快照也会包含一个结果的列表。
您需要遍历结果,以获取各个值:
ref.orderByChild('userId').equalTo(googleUserInfo[0].userId).once('value', streamSnapshot => {
streamSnapshot.forEach((child) => {
googleUserInfo[0] = (child.val())
});