程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MongoDB數據庫 >> MongoDB基礎知識 >> MongoDB ObjectId

MongoDB ObjectId

編輯:MongoDB基礎知識

MongoDB ObjectId


在前面幾個章節中我們已經使用了MongoDB 的對象 Id(ObjectId)。

在本章節中,我們將了解的ObjectId的結構。

ObjectId 是一個12字節 BSON 類型數據,有以下格式:

  • 前4個字節表示時間戳
  • 接下來的3個字節是機器標識碼
  • 緊接的兩個字節由進程id組成(PID)
  • 最後三個字節是隨機數。

MongoDB中存儲的文檔必須有一個"_id"鍵。這個鍵的值可以是任何類型的,默認是個ObjectId對象。

在一個集合裡面,每個文檔都有唯一的"_id"值,來確保集合裡面每個文檔都能被唯一標識。

MongoDB采用ObjectId,而不是其他比較常規的做法(比如自動增加的主鍵)的主要原因,因為在多個 服務器上同步自動增加主鍵值既費力還費時。


創建新的ObjectId

使用以下代碼生成新的ObjectId:

>newObjectId = ObjectId()

上面的語句返回以下唯一生成的id:

ObjectId("5349b4ddd2781d08c09890f3")

你也可以使用生成的id來取代MongoDB自動生成的ObjectId:

>myObjectId = ObjectId("5349b4ddd2781d08c09890f4")

創建文檔的時間戳

由於 ObjectId 中存儲了 4 個字節的時間戳,所以你不需要為你的文檔保存時間戳字段,你可以通過 getTimestamp 函數來獲取文檔的創建

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved