不确定访问AngularFirestoreCollection时为什么出现此错误:
错误错误:缺少权限或不足权限。
this.categories = afs.collection('categories').doc(this.afAuth.auth.currentUser.uid).collection<Category>('categories');
Firestore数据库规则:
service cloud.firestore {
match /databases/{database}/documents {
match /categories/{userId}{
allow read, write: if request.auth.uid == userId;
}
}
}
我在这里想念什么?
答案 0 :(得分:1)
您已在应用程序中配置了深层路径:
Categories --> User --> Categories
您的规则仅包含父文件夹:
/categories/{userId}
您必须更改为:
/categories/{userId}/categories/{category}
因此,您可以访问UserId以获取匹配条件,以及当前路径的效果。
何时使用通配符以及何时使用特定或嵌套的匹配条件有很多原因,请查看main docs并选择最合适的实现。
答案 1 :(得分:0)
有同样的问题。
在拨打电话之前检查是否已经登录:
isSignedIn() {
this.auth.onAuthStateChanged((user) => {
if (user) {
// User is signed in.
console.log("User is signed in.");
} else {
console.log("No user is signed in.");
}
});