angular - 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;
}
}
解决方案
e.payload.doc.id
会给你文档的ID。
所以映射将是这样的:
return {
...e.payload.doc.data(),
id: e.payload.doc.id
} as Item;
推荐阅读
- typescript - 打字稿功能扩展被破坏
- python - 没有循环或列表理解的元组中的 Numpy 访问元素
- r - 如何从 lme4 中提取公式的随机效应部分
- python - 如何将 Python 代码编译成共享库以在 C# 应用程序(如 Unity)中使用?
- .net - Travis CI:面向 .NET Core、.NET Framework 和 .NET Standard
- javascript - 如何设置等于窗口 URL 的变量?
- c - 我制作了两个代码,但我无法解释为什么这两个代码不同并产生不同的结果
- python - 熊猫合并确实错过了价值;匹配行
- parallel-processing - 如果循环中涉及的所有张量都在 GPU 上,我的 for 循环是否并行运行?
- python - 无法计算列中唯一值的频率