如何访问 Firebase 中唯一密钥的子密钥?

How can I access the child of a unique key in Firebase?

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

我对 Firebase 很陌生,所以我不熟悉这些功能。目前,这是我获取数据库不同部分的其他值的方法:

非常感谢您的反馈!

我尝试了不同的方法来访问 Firebase 中的这些数据,但我无法获取它 work/the 我使用的方法已经过时了。我还尝试“更新”Firebase,而不是“推送”值以防止生成唯一键,但它只是覆盖了我当前的数据,而不是附加新的数据。

如果你想加载所有投票的用户并打印他们的电子邮件,你可以这样做:

get(child(dbref, 'usersWhoVoted')).then((snapshot) => {
  snapshot.forEach((childSnapshot) => {
    console.log(childSnapshot.key, childSnapshot.val().emailOfUser);
  });
})

请注意,您当前的结构允许用户多次投票。如果您只想让他们投票一次,请使用用户的一些标识符作为数据库结构中的键:

userVotes: {
  "uniqueIdOfUser1": "valueTheyVotedOn",
  "uniqueIdOfUser1": "valueTheyVotedOn",
  ...
}

现在每个用户只能投票一次,如果他们再次投票(假设您的安全规则允许),他们的新投票将简单地替换现有投票。