首页 > 解决方案 > angular 7中的firestore如何获取文档ID

问题描述

如何在每个 mServiceListObj 中添加文档 ID

  this.firestore.collection('service').snapshotChanges().take(1).subscribe(data => {
      this.mServiceListObj = data.map(e => {
        return {

          ...e.payload.doc.data()
        } as Item;

      });

    });

在上面的代码中,它正在获取数据但没有文档 ID。
如何在该对象中添加文档 ID



export class Item {
  id: String;
  cat: String;
  img: String;
  title: String;
  actiontitle: String;
  subt1: String = "milla";
  subt2: String;
  mServiceIncluded: Array<ServiceIncluded> = [];//=ServiceIncluded();
  mServiceDetails: Array<ServiceDetail> = [];//ServiceDetail();
  actionlist: Array<ActionModel> = [];
  constructor() {

  }
  setBaseDate(title): Item {
    this.title = title;
    return this;
  }
}

标签: angularfirebasegoogle-cloud-firestore

解决方案


e.payload.doc.id会给你文档的ID。

所以映射将是这样的:

return {
   ...e.payload.doc.data(),
   id: e.payload.doc.id
} as Item;

推荐阅读