我正在制作一个音乐下载的应用程序。下载音乐时,我有一个计数器来表示其下载次数,并且即时通讯使用Firebase交易来更新其下载次数:
static increaseDownload(id) {
firebaseDB.ref("musics/" + id).transaction(musique => {
if (musique) {
musique.downloaded++;
}
return musique;
});
}
我知道,根据安全规则,必须对用户进行身份验证才能写入数据库/读到数据库,但是我不想注册和登录用户,也不想输入“ .write” :true对数据库中的每个数据。我希望用户能够访问该网站并下载。
我的问题是,如何增加“已下载”计数器,允许未经身份验证的用户仅向该“已下载”字段写入内容? 我希望未经身份验证的用户仅向该“下载的”字段,其他所有字段写入数据,并且未经身份验证就无法访问数据。
答案 0 :(得分:0)
[编辑] 您可以仅在数据库中的其他信息保持私有且不可访问的情况下,才允许访问“音乐”节点的“下载”子节点。 将此添加到您的数据库规则
{
/* Visit https://firebase.google.com/docs/database/security to learn more about security rules. */
"rules": {
".read": "false",
".write": "false",
"musics":{
"downloaded":{
".read": true,
".write": true
}
}
}
}