Gab*_*vay 2 javascript mongodb mongo-shell
我想在mongo shell中创建一个新的ObjectId但是在过去的Date中创建一个新的ObjectId,以便在过去模拟该文档的创建.这与ObjectId 的getTimestamp()函数相反(即给出一个时间戳,获取一个在调用时返回该时间戳的ObjectId getTimestamp)
任何想法如何做到这一点?
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));
Run Code Online (Sandbox Code Playgroud)