标识符

ObjectId 生成器生成、解析与时间核对

选择生成标识符、解析现有值或创建日期查询边界。

ObjectId 生成器

输入

结果

字节结构

4 字节无符号时间戳、5 字节随机值、3 字节计数器。随机字节无法还原机器 ID 或 PID。

输入仅在当前浏览器中处理,不会发送到服务器。

选项

解码:每行一个 24 位十六进制 ObjectId。生成:留空使用当前时间,或输入一个时间。时间下界:每行一个时间。使用整数 Unix 秒或带秒和 Z 或 ±HH:mm 的 ISO 时间;不会去除空格。

最多 1,000 行、100,000 个 UTF-16 码元;可生成 1–1,000 个 ID。时间范围为 0–4294967295 Unix 秒。

输入内容或载入示例以开始。

为接口准备测试数据时,ObjectId 生成器能先生成符合格式的标识符,无需创建真实数据库记录。从日志里拿到已有值时,则可以查看前八位十六进制字符所携带的时间。

格式正确不代表数据库中存在对应文档。内嵌时间也不能证明实际插入时刻;如果业务需要精确记录事件时间,应保留独立的日期字段。

为什么使用 ObjectId 生成器

按当前规范拆解字节

ObjectId 生成器把内容分为四字节时间戳、五字节随机值和三字节计数器。中间部分作为不透明随机值展示,不会声称能从现代格式中还原机器名称或进程号。

十二字节按时间戳四字节、随机值五字节、计数器三字节分组。

错误行不会悄悄消失

批量检查时,错误位置和成功数量一样重要。解析结果保留原始输入、物理行号和错误原因,便于回到日志定位,避免只复制成功值后漏掉问题。

两条有效标识符之间保留一条无效输入及其错误。

先明确用途,再检查时间

01

区分生成与查询边界

生成模式创建新的测试标识符;解析模式读取现有值;日期边界模式在时间前缀后补零,用于构造查询比较值。

  • 查询边界不能当作唯一的新记录标识符。
02

明确时间单位和时区

生成模式输入留空时使用当前秒。指定时间可填写 Unix 秒数,或包含 Z、正负时区偏移的 ISO 日期。

  • 时间精度必须为整秒,不要把毫秒数当作秒数。
03

逐行核对后再导出

解析时每行输入一个完整的二十四位十六进制值。先查看无效行,再复制结果;页面分批展示不会截断导出报告。 解析和日期边界默认在编辑后 350 ms 自动更新;关闭自动转换后,可点“转换”或按 Ctrl/Cmd+Enter 执行。生成始终需要主动触发,不会随输入自动生成。

  • 示例和清空会先显示替换预览,应用后可撤销一次。

每种输出都能核对来源

批量准备测试标识符

每次生成一至一千个小写值。浏览器加密随机源初始化当前上下文的随机字段和计数器,随后逐个递增计数器。

读取 UTC 时间

ObjectId 解析将前四字节按无符号大端序转换为 Unix 秒数,并显示 UTC 日期以及其余字段,便于对照日志。

日期转比较值

为指定秒创建尾部补零的 BSON 标识符,用于表达时间查询范围。这个操作只计算值,不会查询或创建数据库文档。

完整保留报告

生成模式复制或下载逐行 TXT;解析和边界模式导出 JSON 报告,保留原始输入与错误,包括当前报告预览尚未显示的行。

输入格式与实际边界

只接受完整十六进制行
解析要求每行恰好二十四个 ASCII 十六进制字符。接受大小写并统一输出小写;空格、引号、构造函数包裹和空白行均报错。
四字节无符号秒数
支持 Unix 秒数零至 4,294,967,295,对应 1970 年起至 UTC 2106 年 2 月 7 日 06:28:15。ISO 日期必须包含时区且精确到整秒。
输入与数量上限
最多输入 100,000 个 UTF-16 码元和 1,000 行,生成数量为一至一千的整数。超过限制会拒绝处理,不会静默截取部分数据。
不保证全局顺序
时间只有秒级精度,各客户端时钟可能不同。当前上下文计数器递增并在 16,777,215 后回到零,不构成绝对唯一或全局严格有序承诺。
不读取数据库
本页不连接 MongoDB,也不核查记录存在性。随机生成依赖浏览器加密接口;尾部全零的日期边界只能用作比较值。

ObjectId 生成器常见问题

如何从 ObjectId 读取文档创建时间?

读取前四字节即可得到内嵌 Unix 秒数,本页同时显示 UTC 日期。它可能来自客户端时钟或人为指定日期,不能当成文档实际插入时间的证明。

能保证标识符绝对唯一吗?

ObjectId 生成器遵循时间、随机值和递增计数器的布局,使冲突概率很低,但不能承诺绝无碰撞。数据库仍应通过主键或唯一索引约束标识符。

一次可以生成多少个?

每次可以生成一至一千个。复制和 TXT 下载包含完整批次;页面按批次展示更多行,显示数量不改变实际生成数量。

可以在其他系统中使用吗?

可以把这类十二字节值用于其他系统,但需要确认目标系统接受其长度、字符形式和时间语义。它不是 UUID,也不适合充当保密令牌。

生成器是否连接数据库?

不连接。生成、解析和时间边界计算均在浏览器内完成。解析成功只说明格式符合要求,不表示任何数据库中确实有这条记录。

发现解析边界问题?

开始使用 ObjectId 生成器

先用少量样本检查时间和字段,再将 ObjectId 生成器的结果加入测试数据或排查记录。