我试图仅在用户的 uid 与 userId 匹配(以红色圈出)时才允许读取硬币的文档。
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if false;
}
match /coins/{coinId} {
allow read: if request.auth != null && resource.data.userId == request.auth.uid;
allow write: if request.auth != null;
}
}
}
当我登录我的帐户时,此规则在控制台中返回错误。并且没有数据显示。
Uncaught error in snapshot listener: FirebaseError: Missing or insufficient permissions.
根据我在这里读到的所有内容,下面的代码似乎应该有效,但事实并非如此。
有同样的问题。
更改: 资源.data.userId == request.auth.uid;
致: request.resource.data.userId == request.auth.uid;