MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Loop de atualização lenta do Mongodb


Outra opção seria usar operações em massa, que são extremamente rápidas, especialmente a variante não ordenada , uma vez que podem ser aplicados em paralelo.
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()