时间:2021-07-01 10:21:17 帮助过:12人阅读
每个文档中都有一个“_id”,她是一个12字节的BSON类型数据,格式如下
56c56dd4ca446fab71e4c38a
MongoDB存储的文档必须有一个的“_id”键,这个键值可以是任意类型,默认的是ObjectId类型对象。
文档的“_id”是唯一的,以确保集合中的文档被唯一标识。
MongoDB采用ObjectId,而不是其他比较常规的做法(比如自动增加的主键)的主要原因,因为在多个服务器上同步自动增加主键值既费力还费时。(不同机器可以通过机器名区分,同一个机器通过时间戳、随机数、进程id区分)
> newObjectId_1 = ObjectId() ObjectId("56c686d264799370c0ef357b") > newObjectId_2 = ObjectId() ObjectId("56c686d364799370c0ef357c")
可以用已经生成的id取代自动生成的ObjectId
d = ObjectId("56c686d364799370c0ef357c") ObjectId("56c686d364799370c0ef357c")
由于ObjectId的前4位是时间戳,因此不需要为文档特意的保存时间戳,可以用getTimestamp()获取
> ObjectId("56c56dd4ca446fab71e4c38a").getTimestamp() ISODate("2016-02-18T07:08:04Z")
> new ObjectId().str 56c68c3b64799370c0ef3581 > ObjectId("56c56dd4ca446fab71e4c38a").str 56c56dd4ca446fab71e4c38a
MongoDB ObjectId
标签: