sql >> Databasteknik >  >> NoSQL >> MongoDB

Infogar ett stort antal objekt i mongodb från nodejs

Du kan använda bulkinsatser.

Det finns två typer av bulkoperationer:

  1. Beställda massoperationer. Dessa operationer utför alla operationer i ordning och fel vid det första skrivfelet.
  2. Oordnade massoperationer. Dessa operationer utför alla operationer parallellt och aggregerar alla fel. Oordnade bulkoperationer garanterar inte ordningsföljd för utförande.

Så du kan göra något så här:

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. NoSQL (MongoDB) vs Lucene (eller Solr) som din databas

  2. MongoDB varva ner flera arrayer

  3. Kontrollera om redis körs -> node js

  4. Hur man sorterar mongodb med pymongo