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

如何通过REST在Firestore文档中插入服务器时间戳?

在Firestore REST API中设置服务器生成的时间戳

我之前也踩过这个坑!在Firestore的REST接口里,确实没法像Android SDK那样用@ServerTimestamp注解来自动生成时间戳,但官方提供了一个专门的特殊结构来实现这个需求——你需要把目标字段的值设为{"@timestamp": true}。

具体用法

当你调用createDocument接口插入文档时,把需要服务器生成时间戳的字段,用这个特殊的JSON对象来标记就行,不需要传任何具体的时间字符串或者其他无效值。

举个实际的请求体例子(假设你要向posts集合插入文档):

{
  "title": "我的第一篇REST接口生成的文档",
  "content": "测试Firestore服务器时间戳",
  "createdAt": {"@timestamp": true}
}

为什么你之前的尝试失败了

你之前用的null、0、空字符串或者timestamp这些值,Firestore都会把它们当作普通的字段值来处理:

  • null会直接写入null值
  • 数字或不符合格式的字符串会触发格式校验错误,因为Firestore默认要求时间戳字段必须是RFC3339格式的字符串

而{"@timestamp": true}是Firestore REST API专门预留的指令,服务器识别到这个结构后,会自动生成符合要求的时间戳并写入文档。

额外提示

  • 这个指令不仅适用于创建文档,更新文档时如果想把某个字段更新为当前服务器时间戳,同样可以用这个结构。
  • 文档写入完成后,你再查询这个字段,得到的就是标准的RFC3339格式时间戳字符串了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 03:31:32