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

Firebase Firestore问题求助:addDoc/setDoc为何总是生成相同自动ID?

解决Firestore addDoc始终生成相同文档ID的问题

以下是几个实用的排查和解决方向:

  • 升级Firebase SDK版本:旧版本的Firestore SDK可能存在ID生成的bug,直接将依赖升级到最新稳定版后重新测试。
  • 检查Firestore初始化逻辑:确认db实例的初始化代码没有被篡改,比如是否意外引入了自定义ID生成器,或是初始化配置覆盖了默认的随机ID生成规则。
  • 排查测试环境的mock设置:如果是在测试场景下出现问题,检查是否用了Jest等测试框架的mock功能,把Firebase的ID生成方法或全局随机数生成(如Math.random)固定成了定值。
  • 隔离代码测试:新建一个极简的测试文件,只保留Firebase初始化和addDoc调用逻辑,排除项目其他代码的干扰。如果这个极简代码能生成正常的随机ID,说明问题出在项目的其他业务逻辑上。
  • 排除本地环境干扰:关闭浏览器的隐私扩展、代理工具等,这类工具可能会干扰Firebase的网络请求,导致ID生成异常。
  • 确认setDoc的使用方式:如果使用setDoc时是手动指定了固定ID(比如setDoc(doc(db, "cities", "AAAAAAAAAAAAAAAAAAAA"), {...})),自然会生成相同ID,这条可作为辅助排查点。

内容的提问来源于stack exchange,提问作者tetar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 02:37:04