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);
以下は次のとおりです:タイムスタンプを使用してソートする MongoDB
Python の場合:
gen_time = datetime.datetime(2010, 1, 1)
dummy_id = ObjectId.from_datetime(gen_time)
Java の場合:
Date d = new Date(some timestamp in ms);
ObjectId id = new ObjectId(d)