MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Langsame Mongodb-Update-Schleife

Eine weitere Option wäre die Verwendung von Massenoperationen, die extrem schnell sind, insbesondere die ungeordnete Variante , da sie parallel angewendet werden können.

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