扫码一下
查看教程更方便
在之前的所有章节中,我们一直在使用 MongoDB 对象 ID。在本章中,我们将了解 ObjectId 的结构。
ObjectId是具有以下结构的12字节的BSON类型数据
MongoDB 使用 ObjectIds 作为每个文档的_id字段的默认值,它是在创建文档时自动生成的。ObjectId 的复杂组合使所有 _id 字段都是唯一的。
要生成新的 ObjectId,请使用以下代码
> newObjectId = ObjectId()
上述语句返回以下唯一生成的 id
ObjectId("5349b4ddd2781d08c09890f3")
除了 MongoDB 生成 ObjectId,您还可以提供一个具有 12 字节的 id
> myObjectId = ObjectId("5349b4ddd2781d08c09890f4")
由于 ObjectId 中存储了 4 个字节的时间戳,所以你不需要为你的文档保存时间戳字段,你可以通过 getTimestamp 函数来获取文档的创建时间:
> ObjectId("5349b4ddd2781d08c09890f4").getTimestamp()
以上代码将返回 ISO 格式的文档创建时间:
ISODate("2014-04-12T21:49:17Z")
在某些情况下,您可能需要字符串格式的 ObjectId 值。要将 ObjectId 转换为字符串,请使用以下代码
> newObjectId.str
上面的代码将返回 Guid 的字符串格式 -
5349b4ddd2781d08c09890f3