鍍金池/ 問答/數(shù)據(jù)庫  網(wǎng)絡安全/ ObjectId 是實際存儲數(shù)據(jù)的兩倍長是怎么理解的

ObjectId 是實際存儲數(shù)據(jù)的兩倍長是怎么理解的

ObjectId 是實際存儲數(shù)據(jù)的兩倍長是怎么理解的, 還有這個主鍵占幾個字節(jié),會不會太長了

回答
編輯回答
愛礙唉

大概猜測了一下,你可能是這個意思。以下是一個ObjectId:

ObjectId("5a6940702c4df0af27ffc4ed")

如果你去數(shù)引號里面的東西,長度是24。但這不是實際存儲的長度,而是實際存儲的數(shù)據(jù)的十六進制表現(xiàn)形式。如果不知道這是什么意思,可能要回憶一下大學的課程了。1個字節(jié)的表示:

  • 二進制:00000000~11111111
  • 十進制:0~255
  • 十六進制:00~ff。

所以12個字節(jié)的十六進制表示是24個字符。但實際上它只有12個字節(jié),存儲也只占12字節(jié)。
關于ObjectId的具體組成可以參考文檔:ObjectId
至于是不是太長……太長的標準是什么?

2017年10月27日 16:54