所以我已经为这个问题挠了两天。 我对数据库中的级别进行了以下设置:
"PublishedLevels": {
"$levelid": {
"private": {
..list of vars
},
"public": {
playCount: 0,
}
},
}
现在,我正在尝试在playCount上执行事务,但是我不断收到“ permission_denied”。但是,当我通过一组在模拟器中运行它时,效果很好。
我正在使用以下代码进行交易:
var playCountRef = firebase.database().ref(`/PublishedLevels/${levelData.uid}/public/playCount`);
playCountRef.transaction(count => {
console.log(count);
if (count === null) {
return count = 0;
} else {
return count+1;
}
});
为 PublishedLevels 设置的规则为:
"PublishedLevels": {
".indexOn": "private/creationDate",
".write": "auth != null",
".read": true,
}
期待朝着正确的方向前进!
预先感谢
Erik
* update1帖子现在包括所有规则
答案 0 :(得分:0)
好,我知道了,显然我弄乱了自动登录流程。交易完成后,用户尚未登录。我非常确信这不可能,所以我忽略了该部分。