2
我想在mongo shell中創建一個新的ObjectId,但是爲了模擬過去創建ob文件時的Date。這將與ObjectId的getTimestamp()函數相反(即給出時間戳,獲取ObjectId,在調用getTimestamp
時返回該時間戳)如何從mongo shell中的Date值創建一個ObjectId?
任何想法如何做到這一點?
我想在mongo shell中創建一個新的ObjectId,但是爲了模擬過去創建ob文件時的Date。這將與ObjectId的getTimestamp()函數相反(即給出時間戳,獲取ObjectId,在調用getTimestamp
時返回該時間戳)如何從mongo shell中的Date值創建一個ObjectId?
任何想法如何做到這一點?
Mongo shell似乎並沒有明確支持這一點。但除了一些時區的東西,這個作品:
var timestamp = Math.floor(new Date(1974, 6, 25).getTime()/1000);
var hex = ('00000000' + timestamp.toString(16)).substr(-8); // zero padding
var objectId = new ObjectId(hex + new ObjectId().str.substring(8));
謝謝羅伯特。這樣做的工作! –