MongoDBObjectId

本节我们来介绍一下 MongoDB 中的 ObjectId 的组成,ObjectId 是一个 12 字节的 BSON 类型,具有以下结构:

创新互联为客户提供专业的成都网站建设、成都做网站、程序、域名、空间一条龙服务,提供基于WEB的系统开发. 服务项目涵盖了网页设计、网站程序开发、WEB系统开发、微信二次开发、成都手机网站制作等网站方面业务。

  • 前 4 个字节表示时间戳;
  • 接下来的 3 个字节表示机器标识符;
  • 紧接着的 2 个字节由进程 id(PID)组成;
  • 最后 3 个字节是一个随机计数器的值。

MongoDB 使用 ObjectId 作为每个文档 _id 字段的默认值,而且该值可以在创建文档时自动生成。ObjectId 的复杂组合方式使得所有的 id 字段都是唯一的。

创建新的 ObjectId

要生成一个新的 ObjectId,可以使用下面的代码:

> newObjectId = ObjectId()

执行上面的语句,会生成一个唯一的 _id,如下所示:

ObjectId("6040966d8bafb296d166fe47")

除了可以使用 MongoDB 自动生成的 ObjectId 外,您也可以手动提供一个 12 字节的 ID,如下所示:

> myObjectId = ObjectId("6040966d8bafb296d166fe50")
ObjectId("6040966d8bafb296d166fe50")

创建文档的时间戳

由于 ObjectId(_id)中默认存储了 4 个字节的时间戳,因此在大多数情况下,您再不需要单独存储任何文档的创建时间,只要使用 getTimestamp() 方法就可以获取文档的创建时间,getTimestamp() 方法可以使用 ISO 格式返回 ObjectId 中包含的时间,如下所示:

> ObjectId("6040966d8bafb296d166fe50").getTimestamp()
ISODate("2021-03-04T08:12:29Z")

将 ObjectId 转换为 String

在某些情况下,您可能需要将 ObjectId 的值转换为字符串格式。要将 ObjectId 转换为字符串,可以使用以下代码:

> newObjectId.str

上面的代码将返回 Guid 的字符串格式:

604099da8bafb296d166fe48

文章题目:MongoDBObjectId
网页地址:http://www.hantingmc.com/qtweb/news1/19601.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联