sql >> Base de Datos >  >> NoSQL >> MongoDB

Bucle de actualización lenta de Mongodb

Otra opción sería usar operaciones masivas, que son extremadamente rápidas, especialmente la variante desordenada , ya que se pueden aplicar en 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()