You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取AngularFire2中Firestore刚插入文档的ID?

获取Firestore自动生成的文档ID

嘿,这个问题很常见,其实Firestore的add()方法返回的docRef对象已经包含了你需要的自动生成ID啦!你只需要访问then回调里docRef的id属性就能拿到它,修改后的代码如下:

this.afs.collection<Client>('clients').add(this.form.value).then(docRef => {
  console.log("Firestore生成的文档ID是: ", docRef.id);
})

补充:提前获取文档ID的方式

如果你想在写入文档之前就拿到这个自动生成的ID(比如需要先把ID关联到其他数据中),可以先创建一个空的文档引用(它会自动生成ID),再用set()方法写入数据:

// 先创建带自动ID的文档引用
const newClientRef = this.afs.collection<Client>('clients').doc();
// 获取生成的ID
const newClientId = newClientRef.id;
console.log("提前拿到的文档ID: ", newClientId);
// 写入数据到该文档
newClientRef.set(this.form.value).then(() => {
  console.log("文档写入成功,ID是: ", newClientId);
});

两种方式按需选择就好,第一种适合写入后获取ID,第二种能让你在数据提交前就拿到ID~

内容的提问来源于stack exchange,提问作者Fabio C.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 09:07:19