MongoDB默認使用_id字段做爲主鍵,類型爲ObjectId。ObjectId的生成有必定的規則,詳情能夠查看這篇文章 - MongoDB深究之ObjectId。若是你在寫入數據庫的時候忘記寫入建立時間,不用擔憂,徹底能夠經過_id字段的值來還原當時的時間。看下面的mongodb script腳本:html
db.getCollection('fees').find({}).forEach(function(item){ var _str = item._id.toString().substr(10, 8); var _date = new Date(Number(parseInt(_str, 16).toString() + '000')); item.createTime = _date; db.fees.save(item); })
forEach能夠遍歷collection中的每一條數據,而後逐一進行修改。item._id.toString()會將整個ObjectId("...")當成一個字符串來處理,而後從第10個字符開始,取8個字符,獲得的是這條數據建立時的時間戳(不帶毫秒位數)。在後面補上毫秒位數」000「,而後用Date()方法構形成時間對象,賦值給createTime屬性。mongodb