如何访问 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",
...
}
现在每个用户只能投票一次,如果他们再次投票(假设您的安全规则允许),他们的新投票将简单地替换现有投票。
我正在尝试访问 Firebase 中唯一键值(已被“推送”)的子值。目前,我的数据库如下所示:
我对 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",
...
}
现在每个用户只能投票一次,如果他们再次投票(假设您的安全规则允许),他们的新投票将简单地替换现有投票。