我必须从MySQL导入大量数据到MongoDB中,我想使用ObjectID中的时间戳,而不是将其存储在单独的键/值中(就像在现有数据中一样).为了做到这一点,我需要为现有数据创建一个ObjectID,其中包含过去的日期.我还需要使用PHP驱动程序执行此操作.我已经读过在Python,Java和Node.JS中可能有一种方法可以做到这一点,所以我想也许在PHP中有一个等效的方法.
如果可能的话 - 这样做是否安全?意思是我会遇到重复或无效的ObjectID问题?谢谢.
在Node.JS中:
var timestamp = Math.floor(new Date().getTime()/1000);
var objectId = new ObjectID(timestamp);
Run Code Online (Sandbox Code Playgroud)
下面是:MongoDB使用时间戳进行排序
在Python中:
gen_time = datetime.datetime(2010, 1, 1)
dummy_id = ObjectId.from_datetime(gen_time)
Run Code Online (Sandbox Code Playgroud)
在Java中:
Date d = new Date(some timestamp in ms);
ObjectId id = new ObjectId(d)
Run Code Online (Sandbox Code Playgroud)