MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Boucle de mise à jour lente de Mongodb

Une autre option serait d'utiliser des opérations en masse, qui sont extrêmement rapides, en particulier la variante non ordonnée , car ils peuvent être appliqués en parallèle.

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