0

我最近才认为在 mongoDB 的User集合中添加 createdAt作为默认字段是个好主意。不幸的是,对于以前注册过的所有用户,这个 createdAt 字段都丢失了。

在此处输入图像描述

我觉得我可能不走运,但我想知道是否可能createdAt以某种方式编码在 中_id,或者在任何地方作为元数据可用。这可能吗?

顺便说一句,我有从我们的 gmail 帐户发送的所有电子邮件验证电子邮件,这些电子邮件在用户注册/被添加到此集合时发送。这是一个延伸,但也许有一种自动化的方法来提取所有这些电子邮件发送时间,并使用该email字段将这些电子邮件发送时间加入我们的用户集合中。

4

1 回答 1

0

MongoDB 12 字节ObjectId值包括:

  • 4 字节时间戳值,表示 ObjectId 的创建,以 Unix 纪元以来的秒数为单位。
  • 每个进程生成一次5 字节随机值。这个随机值对于机器和过程是唯一的。
  • 3字节递增计数器,初始化为随机值。

例如:

ObjectId("61e52e26fd6b5909358c902a")

61e52e26(十六进制) => 1642409510(十进制) =>2022/1/17 08:51:50

所以你可以_id使用createdAt

于 2022-01-17T08:58:50.097 回答