mongodb中的_id的ObjectId的生成規則


mongodb中的_id的ObjectId的生成規則
MongoDB中存儲的文檔必須有一個"_id" 。這個鍵值可以是任何類型,默認是ObjectID對象。在一個集合里,每個文檔都有一個唯一的“_id”,確保集合里的每個文檔都能被唯一標示。 ObjectID使用12字節的存儲空間,是一個由24個16進制數字組成的字符串。 ObjectId的12個字節按照如下方式生成 
時間戳:   時間戳,前四個字節是從標准紀元開始的時間戳,單位是秒。可提供秒級別的唯一性。   由於時間戳在前,這意味着ObjectId大致按照插入的順序排列。   這四個字節也隱含了文檔的創建時間。 機器:   主機的唯一標識符。通常是機器主機的散列值(hash)。這樣可以確保不同的機器生成不同的ObjectId   PID:   為了確保在同一台機器上並發的多個進程產生的ObjectID是唯一的,接下來者兩個字節產生來自於進程的標識符 計數器:   最后三個字節是一個自動增加的計數器,確保相同的進程同一秒產生的ObjectId也是不一樣的一秒鍾最多允許每個進程擁有2563個不同的ObjectId


免責聲明!

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



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