zoukankan      html  css  js  c++  java
  • MongoDb--MongoDb的_id生成规则

    MongoDB的文档必须有一个_id键。

    目的是为了确认在集合里的每个文档都能被唯一标识。

    ObjectId 是 _id 的默认类型。

    ObjectId 采用12字节的存储空间,每个字节两位16进制数字,是一个24位的字符串。

    12位生成规则:

    [0,1,2,3] [4,5,6] [7,8] [9,10,11]

    时间戳 |机器码 |PID |计数器

    • 前四字节是时间戳,可以提供秒级别的唯一性。

    • 接下来三字节是所在主机的唯一标识符,通常是机器主机名的散列值。

    • 接下来两字节是产生ObjectId的PID,确保同一台机器上并发产生的ObjectId是唯一的。

    前九字节保证了同一秒钟不同机器的不同进程产生的ObjectId时唯一的。

    • 最后三字节是自增计数器,确保相同进程同一秒钟产生的ObjectId是唯一的。

    由此可得,在对数据库数据进行排序时,可以直接更具_id来进行排序(因为生成规则前四字节是时间戳,有秒级的唯一性)

  • 相关阅读:
    FZU 2150 Fire Game
    POJ 3414 Pots
    POJ 3087 Shuffle'm Up
    POJ 3126 Prime Path
    POJ 1426 Find The Multiple
    POJ 3278 Catch That Cow
    字符数组
    HDU 1238 Substing
    欧几里德和扩展欧几里德详解 以及例题CodeForces 7C
    Codeforces 591B Rebranding
  • 原文地址:https://www.cnblogs.com/jianxian/p/12313079.html
Copyright © 2011-2022 走看看