Możesz użyć wstawek zbiorczych.
Istnieją dwa rodzaje operacji zbiorczych:
- Zamówione operacje masowe. Te operacje wykonują wszystkie operacje w kolejności i usuwają błędy przy pierwszym błędzie zapisu.
- Nieuporządkowane operacje zbiorcze. Operacje te wykonują wszystkie operacje równolegle i agregują wszystkie błędy. Nieuporządkowane operacje zbiorcze nie gwarantują kolejności wykonania.
Możesz więc zrobić coś takiego:
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();
});
});