我试图访问Firebase中唯一键值(已被“推送”)的子值。目前,我的数据库如下所示:

I want to access the value of "emailOfUser"我对Firebase非常陌生,所以我不熟悉它的功能。目前,这是我为数据库的不同部分获取其他值的方法:

非常感谢您的反馈!
我尝试过不同的方法来访问Firebase中的数据,但是我无法让它工作/我使用的方法已经过时了。我还试图“更新”Firebase,而不是“推送”值,以防止生成唯一的键,但它只是覆盖了我当前的数据,而不是附加一些新的内容。
发布于 2022-03-30 17:23:00
如果您想加载所有投票的用户并打印他们的电子邮件,您可以这样做:
get(child(dbref, 'usersWhoVoted')).then((snapshot) => {
snapshot.forEach((childSnapshot) => {
console.log(childSnapshot.key, childSnapshot.val().emailOfUser);
});
})请注意,您的当前结构允许用户多次投票。如果只允许他们投票一次,请使用用户的某些标识符作为数据库结构中的键:
userVotes: {
"uniqueIdOfUser1": "valueTheyVotedOn",
"uniqueIdOfUser1": "valueTheyVotedOn",
...
}现在,根据定义,每个用户只能投票一次,如果他们再次投票(假设您的安全规则允许这样做),他们的新投票将简单地取代现有的投票。
https://stackoverflow.com/questions/71680876
复制相似问题