
- MongoDB 教程
- MongoDB - 首頁
- MongoDB - 概述
- MongoDB - 優勢
- MongoDB - 環境配置
- MongoDB - 資料建模
- MongoDB - 建立資料庫
- MongoDB - 刪除資料庫
- MongoDB - 建立集合
- MongoDB - 刪除集合
- MongoDB - 資料型別
- MongoDB - 插入文件
- MongoDB - 查詢文件
- MongoDB - 更新文件
- MongoDB - 刪除文件
- MongoDB - 投影
- MongoDB - 限制記錄數
- MongoDB - 排序記錄
- MongoDB - 索引
- MongoDB - 聚合
- MongoDB - 複製
- MongoDB - 分片
- MongoDB - 建立備份
- MongoDB - 部署
- MongoDB - Java
- MongoDB - PHP
- 高階 MongoDB
- MongoDB - 關係
- MongoDB - 資料庫引用
- MongoDB - 覆蓋查詢
- MongoDB - 查詢分析
- MongoDB - 原子操作
- MongoDB - 高階索引
- MongoDB - 索引限制
- MongoDB - ObjectId
- MongoDB - Map Reduce
- MongoDB - 文字搜尋
- MongoDB - 正則表示式
- 使用 Rockmongo
- MongoDB - GridFS
- MongoDB - 固定大小集合
- 自動遞增序列
- MongoDB 有用資源
- MongoDB - 問答
- MongoDB - 快速指南
- MongoDB - 有用資源
- MongoDB - 討論
MongoDB - ObjectId
在前面幾章中,我們一直在使用 MongoDB ObjectId。本章我們將瞭解 ObjectId 的結構。
一個ObjectId 是一個 12 位元組的 BSON 型別,具有以下結構:
- 前 4 個位元組表示自 Unix 紀元以來的秒數
- 接下來的 3 個位元組是機器識別符號
- 接下來的 2 個位元組是程序 ID
- 最後 3 個位元組是隨機計數器值
MongoDB 使用 ObjectId 作為每個文件的_id 欄位的預設值,該值在建立任何文件時生成。ObjectId 的複雜組合使所有 _id 欄位都唯一。
建立新的 ObjectId
要生成新的 ObjectId,請使用以下程式碼:
>newObjectId = ObjectId()
上述語句返回以下唯一生成的 ID:
ObjectId("5349b4ddd2781d08c09890f3")
除了由 MongoDB 生成 ObjectId 之外,您還可以提供一個 12 位元組的 ID:
>myObjectId = ObjectId("5349b4ddd2781d08c09890f4")
建立文件的時間戳
由於預設情況下 _id ObjectId 儲存 4 位元組的時間戳,因此在大多數情況下,您不需要儲存任何文件的建立時間。您可以使用 getTimestamp 方法獲取文件的建立時間:
>ObjectId("5349b4ddd2781d08c09890f4").getTimestamp()
這將以 ISO 日期格式返回此文件的建立時間:
ISODate("2014-04-12T21:49:17Z")
將 ObjectId 轉換為字串
在某些情況下,您可能需要以字串格式顯示 ObjectId 的值。要將 ObjectId 轉換為字串,請使用以下程式碼:
>newObjectId.str
以上程式碼將返回 Guid 的字串格式:
5349b4ddd2781d08c09890f3
廣告