mongodb中的_id的ObjectId的生成規則


MongoDB中存儲的文檔必須有一個"_id" 。這個鍵值可以是任何類型,默認是ObjectID對象。在一個集合里,每個文檔都有一個唯一的“_id”,確保集合里的每個文檔都能被唯一標示。

ObjectID使用12字節的存儲空間,是一個由24個16進制數字組成的字符串。

ObjectId的12個字節按照如下方式生成

時間戳(1571234567123) 機器碼(主機標識符) PID(進程id) 計數器
0,1,2,3 4,5,6 7,8 9,10,11

 

 

  • 前四位是時間戳,可以提供秒級別的唯一性。
  • 接下來三位是所在主機的唯一標識符,通常是機器主機名的散列值。
  • 接下來兩位是產生 ObjectId 的 PID,確保同一台機器上並發產生的 ObjectId 是唯一的。
  • 前九位保證了同一秒鍾不同機器的不同進程產生的 ObjectId 時唯一的。
  • 最后三位是自增計數器,確保相同進程同一秒鍾產生的 ObjectId 是唯一的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM