Я добавил обзор в коллекцию "reviews_unchecked".Администратор должен подтвердить их.Поэтому я решил создать еще одну коллекцию с проверенными отзывами, и после подтверждения обзор будет добавлен в «подтвержденный» и удален из «непроверенного».
мой сервис отзывов
review: any;
uncheckedReviewCollection: AngularFirestoreCollection<any>;
confirmedReviewCollection: AngularFirestoreCollection<any>;
reviewDocument: AngularFirestoreDocument<any>;
constructor(private afs: AngularFirestore) {
this.uncheckedReviewCollection = this.afs.collection('reviews_unchecked');
this.confirmedReviewCollection = this.afs.collection<Review>('reviews');
}
getData(): Observable<any[]> {
return this.uncheckedReviewCollection
.snapshotChanges()
.pipe(map((actions) => {
return actions.map((a) => {
const data = a.payload.doc.data();
const id = a.payload.doc.id;
return {id, ...data };
});
})
);
}
getReview(id) {
this.reviewDocument = this.afs.doc<any>('reviews_unchecked/' + id);
this.review = this.reviewDocument.valueChanges();
return this.review;
}
deleteReview(id: string) {
return this.afs.doc<any>(`reviews_unchecked/${id}`).delete();
}
confirmedReview(id) {
this.confirmedReviewCollection.add(this.review);
return this.afs.doc<any>(`reviews_unchecked/${id}`).delete();
}
}
мой компонент
review: any;
reviews: Observable<any[]>;
constructor(
private reviewsService: ReviewsService,
) { }
ngOnInit() {
this.reviews = this.reviewsService.getData();
}
deleteReview(id: string) {
this.reviewsService.deleteReview(id);
}
confirmedReview(id: string) {
this.reviewsService.confirmedReview(id);
}
Почему у меня есть эта ошибка и как ее исправить: ОШИБКА FirebaseError: "Функция CollectionReference.add () требует, чтобы ее первый аргумент имел тип объекта, но это был: пользовательский объект Observable«