如何在Firestore新增文档时保存其自动生成的文档ID
Firestore自动生成ID并存入文档字段的实现方案
Firestore自带的add()方法是先自动生成ID再创建文档,没法在调用它的时候直接把这个ID塞进文档的id字段里。要实现需求,换个思路:先手动生成一个和add()规则一致的自动ID,再用set()方法创建文档,这样就能把生成的ID同时存入字段了。
具体代码示例:
// 先拿到目标集合的引用 final collectionRef = FirebaseFirestore.instance.collection("exampleCollection"); // 生成带自动ID的文档引用(不传参数就会自动生成ID) final docRef = collectionRef.doc(); // 获取这个自动生成的ID final autoDocId = docRef.id; // 用set()写入文档,把ID也放进字段里 await docRef.set({ // 这里放你的其他键值对 "id": autoDocId, "description": "示例文档", // ... 更多字段 });
补充说明
- 这种方式生成的ID和
add()方法生成的ID格式完全一致,都是Firestore标准的自动ID - 全程没有硬编码ID,完全满足需求
内容的提问来源于stack exchange,提问作者Gwhyyy
相关产品推荐
相关产品推荐

