这是Angular5和Firestore问题
我想做什么
获取一个Firestore集合,该集合在我的数据库中称为minutes
设置我的组件变量(也称为minutes
)等于一个包含每个minute
文档ID的Observable对象。
现在我遇到此错误
Property 'id' does not exist on type 'QueryDocumentSnapshot<any>'
这是我从Firestore收集收藏的地方
minutesArray: AngularFirestoreCollection<any>;
minutes: Observable<any[]>;
constructor(private afs: AngularFirestore) {
this.minutesArray = afs.collection<any>('minutes', ref => ref.orderBy('year', 'desc'));
this.minutes = this.minutesArray
.snapshotChanges()
.pipe(map(actions => actions.map(a => {
const data = a.payload.doc.data();
#### NEXT LINE ERRORS OUT ####
const id = a.payload.doc.id;
return { id, ...data };
}))
);
为什么会引发此错误?
此Github Issue未提供答案。
`
答案 0 :(得分:1)
尝试使用:
doc.payload.doc['id']
代替:
doc.payload.doc.id
答案 1 :(得分:0)
在 tsconfig.json 中启用 allowSyntheticDefaultImports
为我解决了这个问题
"allowSyntheticDefaultImports": true