AngularFire2查询未返回文档ID
我在服务中使用AngularFire2从Firestore集合获取数据。代码如下所示:AngularFire2查询未返回文档ID,angular,firebase,google-cloud-firestore,angularfire2,Angular,Firebase,Google Cloud Firestore,Angularfire2,我在服务中使用AngularFire2从Firestore集合获取数据。代码如下所示: this.db.collection('organizations') .valueChanges() .pipe(first()) .toPromise() .next(organization => console.log(organization)); private getOrganizations(whereClause: any): any { return
this.db.collection('organizations')
.valueChanges()
.pipe(first())
.toPromise()
.next(organization => console.log(organization));
private getOrganizations(whereClause: any): any {
return this.db.collection('organizations')
.snapshotChanges()
.pipe(
map((docs: any) => {
return docs.map(a => {
const data = a.payload.doc.data();
const id = a.payload.doc.id;
return {id, ...data};
});
})
);
}
控制台完全按照预期记录组织对象。但该对象缺少Firestore文档的id
因此,我想知道是否可以做一些事情来获取ID作为查询的一部分…您可以使用快照,如下所示:
this.db.collection('organizations')
.valueChanges()
.pipe(first())
.toPromise()
.next(organization => console.log(organization));
private getOrganizations(whereClause: any): any {
return this.db.collection('organizations')
.snapshotChanges()
.pipe(
map((docs: any) => {
return docs.map(a => {
const data = a.payload.doc.data();
const id = a.payload.doc.id;
return {id, ...data};
});
})
);
}
有关快照更改的更多详细信息,请检查:
快照更改()
它是什么?-将可观察到的数据作为DocumentChangeAction返回
为什么要使用它?-当您需要文档数据,但也需要
保留元数据。此元数据为您提供了underyling
文档引用和文档id。到处都有文档的id
使数据操作方法的使用更加容易。这种方法给出了
您可以通过其他角度积分(如ngrx)获得更大的马力,
“类型”属性导致的窗体和动画。上的类型属性
每个DocumentChangeAction对于ngrx减速器、表单状态、,
和动画状态。它是什么将可观察到的数据作为
您可以使用快照,如下所示:
this.db.collection('organizations')
.valueChanges()
.pipe(first())
.toPromise()
.next(organization => console.log(organization));
private getOrganizations(whereClause: any): any {
return this.db.collection('organizations')
.snapshotChanges()
.pipe(
map((docs: any) => {
return docs.map(a => {
const data = a.payload.doc.data();
const id = a.payload.doc.id;
return {id, ...data};
});
})
);
}
有关快照更改的更多详细信息,请检查:
快照更改()
它是什么?-将可观察到的数据作为DocumentChangeAction返回
为什么要使用它?-当您需要文档数据,但也需要
保留元数据。此元数据为您提供了underyling
文档引用和文档id。到处都有文档的id
使数据操作方法的使用更加容易。这种方法给出了
您可以通过其他角度积分(如ngrx)获得更大的马力,
“类型”属性导致的窗体和动画。上的类型属性
每个DocumentChangeAction对于ngrx减速器、表单状态、,
和动画状态。它是什么将可观察到的数据作为
谢谢Nadhir,看起来像是这样!谢谢Nadhir,看起来像是这样!