Firestore 中表示时间戳的推荐类型是 Firestore Timestamp,但这与 JS 中的
Date
对象不同。
这样做的问题是,当我们从数据库获取这些对象时,我需要对其进行转换/字符串化,并且如果我们想要严格的话,还需要维护 2 个 TypeScript 接口。
这些都不是大问题,但我正在考虑使用 ISO 字符串保存时间戳(例如:
'2024-04-16T20:37:22.711Z'
),并且考虑到这些字符串可以安全地进行比较,我可以安全地执行如下查询:
const firstDayOfThisYear = '2024-01-01'
// createdAt contains an ISO string
const q = query(collectionRef, where("createdAt", ">", firstDayOfThisYear));
这有什么问题吗?使用字符串的此查询的性能是否比使用 Firestore Timestamp 的性能低?
这有什么问题吗?
没有。
此查询使用字符串的性能是否低于使用 Firestore Timestamp 的性能?
没有。