sql >> Database teknologi >  >> NoSQL >> MongoDB

Indsættelse af et stort udvalg af objekter i mongodb fra nodejs

Du kan bruge bulkinserts.

Der er to typer bulkoperationer:

  1. Bestilte masseoperationer. Disse operationer udfører hele operationen i rækkefølge og fejl ud på den første skrivefejl.
  2. Uordrede masseoperationer. Disse operationer udfører alle operationerne parallelt og samler alle fejlene. Ikke-ordrede bulk-operationer garanterer ikke udførelsesrækkefølgen.

Så du kan gøre sådan noget:

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


  1. Opkald lagret funktion i mongodb

  2. Kan ikke oprette forbindelse til redis ved hjælp af jedis

  3. Hvad skal du vide, når du begynder at arbejde med MongoDB i produktionen - ti tips

  4. Det er ikke muligt at låse et mongodb-dokument. Hvad hvis jeg har brug for det?