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

Firestore中日期格式的文档ID是否属于单调递增ID?

问题解答

你的日期格式文档ID属于单调递增ID,原因如下:

虽然你提到日期不一定连续,但新增文档时使用的日期必然晚于之前所有已使用的日期(按业务逻辑,不会用过去的日期新增文档),而YYYY-MM-DD的字符串排序规则和时间顺序完全一致——新的日期ID字符串会比所有旧的日期ID字符串更大,本质上还是形成了一个单调递增的序列,符合Firestore最佳实践里提到的「单调递增ID」的特征。

为什么不推荐?

Firestore作为分布式数据库,单调递增ID会导致所有写入请求集中到同一个存储分区,引发写入热点,严重影响写入性能和系统扩展性,这也是官方明确禁止使用这类ID的原因。

替代方案建议

  • 直接使用Firestore自动生成的随机ID:通过addDoc方法创建文档时,Firestore会生成分散的随机ID,天然避免热点问题。
  • 将日期作为文档字段而非ID:保留日期作为查询维度,配合索引实现按日期筛选的需求,同时用随机ID保证写入性能。
  • 给日期ID添加随机后缀:比如采用2023-09-01_abc123的格式,既保留日期信息,又打破单调递增的序列,分散写入负载。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 02:32:06