生成 ObjectId、解出内嵌时间戳、按时间段算出 $gte/$lte 边界,全部在浏览器本地完成
- 本地处理
- 分类 开发运维
- 适合 格式化、校验、压缩或检查和代码相关的文本。
解出的创建时间会显示在这里。
选一个时间,得到那一秒的最小和最大 ObjectId,把它们填进 Mongo 的 $gte / $lte 范围查询即可。
这个工具能做什么
一个在浏览器本地运行的 MongoDB ObjectId 生成与解析工具。ObjectId 是 MongoDB 默认写进 _id 字段的 12 字节值,显示为 24 位十六进制字符串。 它的结构是固定的:前 4 字节是以秒为单位的 Unix 时间戳,接着 5 个随机 字节(每个进程生成一次),最后 3 字节是自增计数器。本工具用密码学级 随机数一次批量生成 1 到 100 个 ObjectId,把粘进来的任意 ObjectId 解回 它的创建时间(秒、UTC 以及你的本地时区),还能为指定的某一秒算出最小 和最大的 ObjectId,这样你就能直接对 _id 跑范围查询,而不必再扫描 createdAt 字段。每个字节都用纯 JavaScript 在本地算出,不上传任何数据, 分享链接会带上你的设置和正在查看的那个 id。调试文档、写回填脚本、读取 已经藏在主键里的那块时钟,用它都很顺手。
工具细节
- 输入
- 文本 + 数值
- 页面会根据工具类型展示文本框、数值控件、文件选择或结构化输入。
- 输出
- 即时结果 + 复制 + 下载
- 结果区优先给出可操作结果,支持项会显示复制、下载或可视化预览。
- 隐私
- 浏览器本地处理
- 主工具逻辑未发现外部 API 调用,输入通常留在当前标签页内处理。
- 保存 / 分享
- 可分享链接状态
- 关键设置会进入 URL,复制链接后别人能复现同一组参数。
- 性能预算
- 首屏 JS ≤ 9 KB
- 没有声明 WASM 依赖,适合快速打开和移动端使用。
- 适用场景
- 开发运维 · 程序员
- 分类和职业标签用于推荐相关工具、组织内链,并帮助用户快速判断是否适合当前任务。
怎么用
-
1. 输入
把内容粘贴或拖入工具面板。
-
2. 处理
点击按钮,在浏览器内本地处理,文件不上传。
-
3. 复制 / 下载
一键复制结果或下载到本地。
MongoDB ObjectId 生成与解析 适合怎么用
适合穿插在写代码、查问题、做 Review、上线前的小任务里。
适合开发场景
- 格式化、校验、压缩或检查和代码相关的文本。
- 把片段整理好再放进文档、工单、提交或交接材料。
- 不切换工具,快速检查一个小 payload。
开发检查项
- 压缩、混淆这类不可逆处理,先对副本操作。
- 除非确认工具本地处理,不要粘贴密钥和敏感片段。
- 转换后的代码上线前,仍要跑自己的测试或 lint。
下一步可以接着做
这些入口会把当前任务接到更完整的工具链里。
真实使用场景
通过读取写入时间来调试某个文档
你从集合里捞出一条记录,想知道它什么时候创建的,但又没有 createdAt 字段。把 _id 粘进解析框,就能拿到文档写入的精确秒数,带 UTC 和你的 本地时间。不用多查一次,也不用改 schema,这块时钟一直就藏在主键里。
按时间窗口回填或迁移文档
一个迁移脚本需要某一天创建的全部文档。为那天的开始造最小 ObjectId、 为结束造最大 ObjectId,然后查 _id 落在这两端之间的记录。因为 _id 本来 就有索引,扫描很快,也省去了仅为按时间切片而临时建 createdAt 索引。
为测试数据生成稳定的 ObjectId
集成测试需要几个像真的一样、排序可预期的 _id 值。批量生成一批,复制 进种子文件,计数器递增让它们严格升序,这样任何「按 _id 排序」的断言 在多次运行之间都保持稳定。
给同事讲清楚 ObjectId 的结构
带一个只见过自增整数主键的新人?生成一个 ObjectId,把它解析开,当场 逐段讲时间戳、随机段和计数器。分享链接会还原出那个 id 和解析视图,你 把它丢进聊天,对方看到的就和你一样。
常见踩坑
把 ObjectId 时间戳当成毫秒。前 4 字节存的是整秒,所以内嵌时间精度是秒。相隔 100 毫秒写入的两条文档可能落在同一个 ObjectId 秒里;要在这一秒内排序,靠的是计数器而不是时间。
按 _id 排序就指望跨机器完美按时间排。计数器和随机段只保证同一进程内有序;同一秒里来自两台服务器的 id 可能交错。要严格跨主机按时间排序,还是得留一个真正的时间戳字段。
手写范围查询边界却忘了后面的字节。最小端必须把随机段和计数器清零、最大端必须拉满;只用一个 8 位十六进制时间戳、后面随便接随机字节,会悄悄漏掉窗口边缘的文档。
隐私说明
每个 ObjectId 都由浏览器标签页里的纯 JavaScript 生成和解析,随机字节 取自本地 crypto 接口,任何 id、时间戳或查询边界都不会发往服务器,也不 记录你生成或粘贴了什么。唯一要注意:分享链接会把你的设置和解析框里的 ObjectId 写进查询字符串,所以把链接粘到聊天里,对方服务器的访问日志会 留下那个 id。如果这个 id 对应敏感文档,请用复制按钮粘贴文本,而不是分享 网址。
常见问题
类似工具组合
做你这行的人, 还会一起用这些。