京东云服务器推荐配置、多种配置选择,满足不同业务需求!

热门推荐

⭐ 稳定入门选择

配置:2核2G/5M

适用场景:个人站点 / 轻量应用

特点:性价比高,稳定可靠

¥19/月
立即购买
流量友好

☁️ 轻量云主机

配置:2核4G 5M

适用场景:小型业务 / 博客 / 测试环境

特点:流量友好,性能均衡

¥149/年
立即购买
高性能

💻 云服务主机

配置:4核16G 8M

适用场景:中小型服务 / 多并发场景

特点:充足内存与带宽,性能强劲

¥750/年
立即购买
新人专享

🎁 新人福利

新人访问 → 点击 → 最新活动

可获取 3000元 礼券

立即领取
数据库 / MongoDB 教程 / MongoDB 高级教程
MongoDB ObjectId
MongoDB mapReduceMongoDB 索引限制

MongoDB ObjectId

在前面的章节中,我们一直在使用MongoDB对象Id。在本章中,我们将了解ObjectId的结构。

ObjectId 是一个12字节的 BSON 类型,具有以下结构-

  • 前4个字节表示自 unix 新纪元以来的秒数

  • 接下来的3个字节是机器标识符

  • 接下来的2个字节由进程 id 组成

  • 最后3个字节是一个随机计数器值

MongoDB使用ObjectIds作为_id每个文档字段的默认值,该默认值是在创建任何文档时生成的。ObjectId的复杂组合使所有_id字段唯一。

创建新的ObjectId

要生成新的ObjectId,请使用以下代码-

>newObjectId = ObjectId()

上面的语句返回以下唯一生成的id-

ObjectId("5349b4ddd2781d08c09890f3")

除了提供MongoDB生成ObjectId之外,您还可以提供12字节的ID-

>myObjectId = ObjectId("5349b4ddd2781d08c09890f4")

创建文档的时间戳

由于_id ObjectId默认情况下存储4字节的时间戳,因此在大多数情况下,您不需要存储任何文档的创建时间。您可以使用getTimestamp方法获取文档的创建时间-

>ObjectId("5349b4ddd2781d08c09890f4").getTimestamp()

这将以ISO日期格式返回此文档的创建时间-

ISODate("2014-04-12T21:49:17Z")

将ObjectId转换为String

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

>newObjectId.str

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

5349b4ddd2781d08c09890f3
MongoDB mapReduceMongoDB 索引限制
下一篇:MongoDB mapReduce