MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Ciclo di aggiornamento lento di Mongodb

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()