ObjectId竟然是一种数据类型
ObjectId在MongoDB中的应用
文档中必须存储的_id键的值类型默认为ObjectId-
ObjectId介绍
采用12字节的存储空间,由24个十六进制数字组成的字符串"_id": "ObjectId("5b2187ad4af344000e896e62")"
1-4个字节:记录的是从标准纪元开始的时间戳,单位为秒
5-7字节:记录的主机标识符,通常是机器主机名的散列值
8-9字节:记录的进程标识符
10-12字节:自动增加的计数器
1-9字节保证了同一秒钟不同机器不同进程产生的ObjectId是唯一的
10-12字节保证相同进程同一秒的产生的ObjectId是唯一的 为什么使用ObjectId
不使用自增是分布式维护起来非常困难。使用ObjectId可以保证不同机器都能用全局唯一的同种方法生成它并且确保不重复