MongoDB教學
MongoDB快速入門
MongoDB歷史
MongoDB特點
MongoDB數據庫的優點
MongoDB安裝配置(Windows)
MongoDB安裝配置(Ubuntu)
MongoDB安裝配置(RedHat/CentOS)
MongoDB數據建模
MongoDB創建數據庫
MongoDB刪除數據庫
MongoDB創建集合
MongoDB刪除集合
MongoDB數據類型
MongoDB插入文檔
MongoDB查詢文檔
MongoDB更新文檔
MongoDB刪除文檔
MongoDB投影(選擇字段)
MongoDB限制記錄數
MongoDB排序記錄
MongoDB索引
MongoDB聚合
MongoDB複製
MongoDB分片
MongoDB備份與恢復
MongoDB部署
Java連接MongoDB操作
Python連接MongoDB操作
PHP連接MongoDB操作
Ruby連接MongoDB操作
MongoDB ObjectId
在前面學習的所有章節中,都有使用了MongoDB對象標識符。 在本章中,我們將瞭解ObjectId的結構。
ObjectId 是具有以下結構的12字節BSON類型 -
- 前
4
個字節表示從unix紀元開始的秒數 - 接下來的
3
個字節是機器標識符 - 接下來的
2
個字節由進程ID組成 - 最後
3
個字節是隨機計數器值
MongoDB使用ObjectIds
作爲每個文檔的_id
字段的默認值,這是在創建任何文檔時生成的。 ObjectId
的複雜組合使得所有_id
字段都是唯一的。
>newObjectId = ObjectId()
上述語句返回以下唯一生成的id -
ObjectId("595b99d9f6a6243715b3c312")
還可以提供一個12
字節的 id
來可代替 MongoDB 生成 ObjectId -
>myObjectId = ObjectId("595b99d9f6a6243715b3c312")
創建文檔的時間戳
由於_id
ObjectId默認存儲4
字節的時間戳,在大多數情況下,不需要存儲任何文檔的創建時間。可以使用getTimestamp
方法獲取文檔的創建時間 -
>ObjectId("595b99d9f6a6243715b3c312").getTimestamp()
這將以ISO日期格式返回此文檔的創建時間 -
> ObjectId("595b99d9f6a6243715b3c312").getTimestamp()
ISODate("2017-07-04T13:36:25Z")
將ObjectId轉換爲String
在某些情況下,可能需要使用字符串格式的ObjectId
值。 要轉換ObjectId
爲字符串,請使用以下代碼 -
>newObjectId.str
上面的代碼將返回Guid的字符串格式 -
595b99d9f6a6243715b3c312