MongoDB中咱們常常會接觸到一個自動生成的字段:」_id」,類型爲ObjectId。sql
ObjectId構成數據庫
以前咱們使用MySQL等關係型數據庫時,主鍵都是設置成自增的。但在分佈式環境下,這種方法就不可行了,會產生衝突。爲此,MongoDB採用了一個稱之爲ObjectId的類型來作主鍵。ObjectId是一個12字節的BSON類型字符串。按照字節順序,一次表明:分佈式
ObjectId獲取時間code
從ObjectId的構造上來看,內部就嵌入了時間類型。咱們確定能夠從中獲取時間信息:即插入此文檔時的時間。MongoDB對ObjectId對象提供了getTimestamp()方法來獲取ObjectId的時間。對象
> a = new ObjectId() ObjectId("53102b43bf1044ed8b0ba36b") > a.getTimestamp() ISODate("2014-02-28T06:22:59Z")
根據ObjectId按照插入時間排序排序
MongoDB默認在ObjectId上創建索引,是按照插入時間排序的。咱們能夠使用此索引進行查詢和排序。索引