MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Przechodź w pętli przez kolekcję Mongo i aktualizuj pole w każdym dokumencie

Najlepszym sposobem na to jest użycie "Bulk" operacje

var collection = db.getCollection('schedules');
var bulkOp = collection.initializeOrderedBulkOp();
var count = 0;
collection.find().forEach(function(doc) {
    bulkOp.find({ '_id': doc._id }).updateOne({
        '$set': { 'time': new Date(doc.time) }
    });
    count++;
    if(count % 100 === 0) {
        // Execute per 100 operations and re-init
        bulkOp.execute();
        bulkOp = collection.initializeOrderedBulkOp();
    }
});

// Clean up queues
if(count > 0) {
    bulkOp.execute();
}


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Elokwentny na zewnątrz Laravel z wieloma połączeniami DB jenssegers/laravel-mongodb

  2. Fragment MongoDB według daty na jednej maszynie

  3. Agregacja MongoDb do filtrowania listy na podstawie identyfikatorów obecnych w obiekcie tablicy ze wszystkich dokumentów tej samej kolekcji

  4. Jak pobrać / znaleźć wszystkie elementy tablicy zagnieżdżonej w MongoDB Java

  5. OData Jaydata — żądanie aktualizacji odata zwraca błąd 404 (SAPUI5, węzeł)