PHP自定义Mongdb的_id

8th,Jan,2016

MongoDB插入_id:

_id为数据库对象创建的唯一标识。

eg:  ObjectId("568126a6 feed8b 1816 55bf5d")

MongoId: 每个MongoId具有12个字节,即24个十六进制字符。前四个字节是时间戳,即8个字符是时间戳,后三个是客户端主机名的hash摘要,然后两个是运行脚本的进程id,最后三位是一个自增值。MongoId 是可以序列化/反序列化的。

而id是可以在插入的时候自行维护。即MongoDB插入数据时,如果参数中没有_id属性或键,则会创建一个MongoId实例,赋给_id。


定制id规则:

"字母标识" + timestamp + 10位随机数

timestamp : PHP中可使用time()获取当前时间戳

10位随机数:

rand() // 默认使用libc随机数发生器。

mt_rand() // 生成更好的随机数,使用Mersenne Twister已知特性作为随机数发生器, 生成随机数值的平均速度比libc提供的rand()快4倍。

故:mt_rand(100000000,9999999999)


你可能感兴趣的:(PHP自定义Mongdb的_id)