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

FieldValue.serverTimestamp()时间戳格式不一致问题求助

FieldValue.serverTimestamp() 在add与update操作中生成的时间戳格式不一致,导致orderBy排序失效

使用FieldValue.serverTimestamp()时出现格式不一致问题:

  • 执行add操作时,生成的lastEdited字段为字符串格式
  • 执行update操作时,生成的lastEdited字段为Firestore Timestamp/DateTime格式,此格式符合需求

Add操作代码

FirebaseFirestore.instance.collection('collectionName').add(
  {'lastEdited': FieldValue.serverTimestamp()},
)

执行后lastEdited为字符串格式(示例:"2024-05-20T12:34:56.789Z")

Update操作代码

FirebaseFirestore.instance.collection('collectionName').doc('id').update(
  {'lastEdited': FieldValue.serverTimestamp()},
)

执行后lastEdited为Firestore原生Timestamp格式(显示为包含秒数、纳秒数的时间戳对象结构)

这种格式差异导致部分文档的时间戳为字符串、部分为Timestamp类型,直接引发orderBy('lastEdited')排序功能无法正常工作,请求解决方案或相关见解。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 08:35:23