我在服务中有一个简单的集合引用
firebase.auth().onAuthStateChanged(user => {
if (user) {
this.itineraryCollection = firebase
.firestore()
.collection(`itinerary/${user.uid}/itineraryList`);
}
});
我正在调用此服务 OnInit
ngOnInit() {
this.loggedInUser = firebase.auth().currentUser;
this.dataSvc.getItineraries()
.get()
.then( itineraryListSnapshot => {
this.itineraries = [];
itineraryListSnapshot.forEach(snap => {
this.itineraries.push({
id: snap.id,
activities: snap.data().activities,
userId: snap.data().userId
});
});
});
// this.itineraries = this.dataSvc.getUserItinerary();
console.log('logged in user add itin page', this.itineraries);
}
但我在页面初始化时不断收到以下错误:
vendor.js:49548 ERROR Error: Uncaught (in promise): FirebaseError: [code=permission-denied]: Missing or insufficient permissions.
我不确定我在 firebase 中的数据库规则应该是什么,但我尝试了很多不同的规则:
match /itinerary/{userId} {
allow read;
allow write;
}
match /itinerary/{userId}/itineraryList {
allow read;
allow write;
}
任何帮助将不胜感激
答案 0 :(得分:1)
您可以按如下方式编辑您的 Firefunction 规则,
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write;
}
}
}
试试上面的代码,它会对你有帮助。
答案 1 :(得分:0)
Issue in firebase database rules.
You can replace these rules with :-
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if
request.time < timestamp.date(2021, 4, 26);
}
}
}