新聞中心

創(chuàng)新互聯(lián)為客戶提供專業(yè)的成都網(wǎng)站建設(shè)、成都做網(wǎng)站、程序、域名、空間一條龍服務(wù),提供基于WEB的系統(tǒng)開發(fā). 服務(wù)項(xiàng)目涵蓋了網(wǎng)頁設(shè)計(jì)、網(wǎng)站程序開發(fā)、WEB系統(tǒng)開發(fā)、微信二次開發(fā)、成都手機(jī)網(wǎng)站制作等網(wǎng)站方面業(yè)務(wù)。
- 前 4 個(gè)字節(jié)表示時(shí)間戳;
- 接下來的 3 個(gè)字節(jié)表示機(jī)器標(biāo)識符;
- 緊接著的 2 個(gè)字節(jié)由進(jìn)程 id(PID)組成;
- 最后 3 個(gè)字節(jié)是一個(gè)隨機(jī)計(jì)數(shù)器的值。
MongoDB 使用 ObjectId 作為每個(gè)文檔 _id 字段的默認(rèn)值,而且該值可以在創(chuàng)建文檔時(shí)自動生成。ObjectId 的復(fù)雜組合方式使得所有的 id 字段都是唯一的。
創(chuàng)建新的 ObjectId
要生成一個(gè)新的 ObjectId,可以使用下面的代碼:
> newObjectId = ObjectId()
執(zhí)行上面的語句,會生成一個(gè)唯一的 _id,如下所示:
ObjectId("6040966d8bafb296d166fe47")
除了可以使用 MongoDB 自動生成的 ObjectId 外,您也可以手動提供一個(gè) 12 字節(jié)的 ID,如下所示:
> myObjectId = ObjectId("6040966d8bafb296d166fe50")
ObjectId("6040966d8bafb296d166fe50")
創(chuàng)建文檔的時(shí)間戳
由于 ObjectId(_id)中默認(rèn)存儲了 4 個(gè)字節(jié)的時(shí)間戳,因此在大多數(shù)情況下,您再不需要單獨(dú)存儲任何文檔的創(chuàng)建時(shí)間,只要使用 getTimestamp() 方法就可以獲取文檔的創(chuàng)建時(shí)間,getTimestamp() 方法可以使用 ISO 格式返回 ObjectId 中包含的時(shí)間,如下所示:
> ObjectId("6040966d8bafb296d166fe50").getTimestamp()
ISODate("2021-03-04T08:12:29Z")
將 ObjectId 轉(zhuǎn)換為 String
在某些情況下,您可能需要將 ObjectId 的值轉(zhuǎn)換為字符串格式。要將 ObjectId 轉(zhuǎn)換為字符串,可以使用以下代碼:
> newObjectId.str
上面的代碼將返回 Guid 的字符串格式:
604099da8bafb296d166fe48
網(wǎng)站標(biāo)題:MongoDBObjectId
本文路徑:http://fisionsoft.com.cn/article/djpedgj.html


咨詢
建站咨詢
