Редактировать с реальным ответом
Я нашел проблему. Вам необходимо объявить вашу postCollection как AngularFirestoreCollection. Вот как я это сделал для своего кода ниже:
updatedb: AngularFirestoreCollection<item>;
Тогда я мог бы использовать его, не получив ошибку карты. Надеюсь, это поможет!
Прошлое (работает, но не самый лучший) Ответ
У меня та же проблема. Я думаю, что это связано с вашей переменной postCollection. Когда я положил туда полную коллекцию db.collection ... это сработало для меня. Не уверен, что это как-то о том, как объявлена эта переменная (у меня только что была моя переменная общего назначения, не назначенная вверху файла.
Это не сработало:
export class DataService {
items$: Observable<any>;
selectedItem$: Observable<any>;
selected3x3: item = new item();
timeout;
email: string;
updatedb;
get3x3s(){
if(!this.email){
this.items$ = this.updatedb.snapshotChanges().pipe(
map(changes => {
return changes.map(doc => {
return{
id: doc.payload.doc.id,
data: doc.payload.doc.data()
}
})
})
);
Но это скомпилировано:
export class DataService {
items$: Observable<any>;
selectedItem$: Observable<any>;
selected3x3: item = new item();
timeout;
email: string;
updatedb;
get3x3s(){
if(!this.email){
this.items$ = this.db.collection(this.email).snapshotChanges().pipe(
map(changes => {
return changes.map(doc => {
return{
id: doc.payload.doc.id,
data: doc.payload.doc.data()
}
})
})
);