Timestamp(时间戳)

最后更新:2026-10-09

Timestamp(时间戳)

Timestamp是MongoDB内部类型,64位值由4字节Unix秒+4字节自增序号组成,主要用于复制集操作日志(oplog)与变更流等内部机制。业务存储时间点应用Date类型。注意:自4.4起Timestamp不允许出现在查询条件中。构造用`Timestamp({ t: 秒, i: 序号 })`。

分类BSON 类型
MongoDB 版本1.0+
示例语言mongosh (Shell)

📝 语法

Timestamp({ t: <秒>, i: <序号> })
Timestamp(0, 0)  // 等价简写

返回值:返回一个Timestamp类型值,含t(秒)与i(序号)两个属性

▶ 示例

请在本地安装的 mongosh 中执行以下命令(需已启动 mongod):

// Timestamp:构造并读取字段
const ts = Timestamp({ t: 1758700000, i: 1 })
print(ts.t, ts.i)  // 秒与序号

运行结果:

1758700000 1

📌 注意事项

更多实战案例即将上线,敬请期待。

📚 相关教程

❓ 常见问题

QTimestamp和Date有什么区别?
ADate存毫秒时间点;Timestamp含自增序号,用于oplog等内部机制。
Q业务能存Timestamp吗?
A不建议。它是MongoDB内部专用类型,业务时间点一律用Date。
Q为什么查询Timestamp报错?
A4.4起查询条件中禁止使用Timestamp字段,属于破坏性变更,需改用Date。
Web-Tutorial.com

Web-Tutorial 技术团队

由多位开发者共同维护的编程教程平台。每篇教程由对应领域的开发者编写和审核,确保内容准确可靠。如发现任何问题,欢迎向我们反馈。

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏