Un'altra opzione sarebbe quella di utilizzare le operazioni in blocco, che sono estremamente veloci, in particolare la variante non ordinata , poiché possono essere applicati in parallelo.
var bulk = db.ClockTime.initializeUnorderedBulkOp()
var myDocs = db.ClockTime.find()
var ops = 0
myDocs.forEach(
function(myDoc) {
bulk.find(
{_id:myDoc._id}
).updateOne(
{$set : { ClockInTime: new Date(myDoc.ClockInTime) } }
);
if ( (++ops % 10000) === 0){
bulk.execute();
bulk = db.ClockTime.initializeUnorderedBulkOp();
}
}
)
bulk.execute()