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

Einfügen eines großen Arrays von Objekten in mongodb von nodejs

Sie können Bulk-Inserts verwenden.

Es gibt zwei Arten von Massenoperationen:

  1. Bestellte Massenoperationen. Diese Operationen führen alle Operationen der Reihe nach aus und geben beim ersten Schreibfehler einen Fehler aus.
  2. Ungeordnete Massenoperationen. Diese Operationen führen alle Operationen parallel aus und aggregieren alle Fehler. Ungeordnete Massenvorgänge garantieren keine Ausführungsreihenfolge.

Sie können also etwa Folgendes tun:

var MongoClient = require('mongodb').MongoClient;

MongoClient.connect("mongodb://myserver:27017/test", function(err, db) {
    // Get the collection
    var col = db.collection('myColl');

    // Initialize the Ordered Batch
    // You can use initializeUnorderedBulkOp to initialize Unordered Batch
    var batch = col.initializeOrderedBulkOp();

    for (var i = 0; i < sizeOfResult; ++i) {
      var newKey = {
          field_1: result[i][1],
          field_2: result[i][2],
          field_3: result[i][3]
      };
      batch.insert(newKey);
    }

    // Execute the operations
    batch.execute(function(err, result) {
      console.dir(err);
      console.dir(result);
      db.close();
    });
});