跳到主要内容

MongoDB ObjectId 生成器与时间戳解析

生成 ObjectId、解出内嵌时间戳、按时间段算出 $gte/$lte 边界,全部在浏览器本地完成

  • 本地处理
  • 分类 开发运维
  • 适合 格式化、校验、压缩或检查和代码相关的文本。
MongoDB ObjectId 是 12 字节、显示为 24 位十六进制:4 字节秒级时间戳、5 字节随机、再加 3 字节自增计数器。头部就是创建时间,所以单看 _id 就能知道文档何时写入。
生成数量
大写
生成结果
点击「生成」即可批量产出 ObjectId。
解析 ObjectId

解出的创建时间会显示在这里。

按时间点求 ObjectId 边界

选一个时间,得到那一秒的最小和最大 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. 1. 输入

    把内容粘贴或拖入工具面板。

  2. 2. 处理

    点击按钮,在浏览器内本地处理,文件不上传。

  3. 3. 复制 / 下载

    一键复制结果或下载到本地。

MongoDB ObjectId 生成与解析 适合怎么用

适合穿插在写代码、查问题、做 Review、上线前的小任务里。

适合开发场景

  • 格式化、校验、压缩或检查和代码相关的文本。
  • 把片段整理好再放进文档、工单、提交或交接材料。
  • 不切换工具,快速检查一个小 payload。

开发检查项

  • 压缩、混淆这类不可逆处理,先对副本操作。
  • 除非确认工具本地处理,不要粘贴密钥和敏感片段。
  • 转换后的代码上线前,仍要跑自己的测试或 lint。

下一步可以接着做

这些入口会把当前任务接到更完整的工具链里。

  1. 1 NanoID 生成器 生成 URL 安全的 NanoID,字母表可自定义、长度可调,并实时显示碰撞概率,全部在浏览器本地完成。 打开
  2. 2 UUID 生成器 支持 v4 随机、v7 时序、NIL 全零、Short 短码四种格式,批量生成,纯浏览器运行。 打开
  3. 3 ULID 生成器 可排序、URL 安全的唯一 ID:批量生成、单调递增模式、还能反解出生成时间戳,全程浏览器本地 打开

真实使用场景

  • 通过读取写入时间来调试某个文档

    你从集合里捞出一条记录,想知道它什么时候创建的,但又没有 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 对应敏感文档,请用复制按钮粘贴文本,而不是分享 网址。

常见问题

类似工具组合

做你这行的人, 还会一起用这些。

Made by Toolora · 100% client-side · Updated 2026-06-13