Firebase firestore事务引发更新规则错误,该规则只允许有一个特定字段
通过在web上执行firestore runTransaction功能, 它发生在下面的错误中 firestore.googleapis.com/v1beta1/projects/myproject/databases/(默认值)/文档:提交:1个POST 403 我想只允许每个人更新一个字段,其他人是为登录用户 所以更新规则使用nextFirebase firestore事务引发更新规则错误,该规则只允许有一个特定字段,firebase,transactions,google-cloud-firestore,firebase-security,Firebase,Transactions,Google Cloud Firestore,Firebase Security,通过在web上执行firestore runTransaction功能, 它发生在下面的错误中 firestore.googleapis.com/v1beta1/projects/myproject/databases/(默认值)/文档:提交:1个POST 403 我想只允许每个人更新一个字段,其他人是为登录用户 所以更新规则使用next allow update: if request.resource.data.keys().hasOnly(["numPlayed"]) || reques
allow update: if request.resource.data.keys().hasOnly(["numPlayed"])
|| request.auth.uid != null;
和交易代码,如
this.db.runTransaction(function(t) {
return t.get(pubRef)
.then(function(pub) {
var numPlayed = pub.data().numPlayed + 1;
t.update(pubRef, { numPlayed: numPlayed });
return numPlayed;
});
})
为什么会出错?我终于找到了原因。
“runTransaction”需要写入权限,而不是类似于分区的更新