при выполнении функции runTransaction для firestore в Интернете возникает ошибка ниже.
firestore.googleapis.com / v1beta1 / projects / myproject / database / (по умолчанию) / documents: commit: 1 POST https://firestore.googleapis.com/v1beta1/projects/myproject/databases/(default)/documents:commit 403
я хочу разрешить обновлять только одно поле для всех, а остальные для входа в систему.
, поэтому в правиле обновления используется следующее.
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;
});
})
почему возникает ошибка?