以下是我得到的例外:
W/Firestore(22209):(24.9.1)[WriteStream]:(e05714f)Stream closed with status:Status{code=PERMISSION_DENIED,description=Missing or insufficient permissions.,cause=null}.
代码如下:
/// Marks user as deleted as long as all his ads
Future<void> storeMarkAsDeletedAsLongAsAllHisAds() async {
final fs = FirebaseFirestore.instance;
final writeBatch = fs.batch();
// Get user from the (current) ID
final user = await fs.collection("users").doc(id).get();
// Mark user as deleted
writeBatch.update(user.reference, {
"deleted": true,
});
return writeBatch.commit();
}
字符串
我的裁决如下:
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
// === Get the user using uid
function getUser() {
return get(/databases/$(database)/documents/users/$(request.auth.uid)).data;
}
match /users/{uid}/{document=**} {
allow read: if true;
allow create, update, delete: if request.auth.uid == uid;
}
型
你怎么了?
1条答案
按热度按时间7kqas0il1#
当我遇到这样的问题时,我做的第一件事就是让我的代码检查它是否符合我的规则的要求。所以:将
storeMarkAsDeletedAsLongAsAllHisAds
Package 在一个条件中,如下所示:字符串
看看会不会有机会。