Ich habe mich gefragt, wie man Masseneinfügungen in Mongodb (obwohl es irgendeine andere Datenbank sein könnte) mit Node.js
machtIch habe den folgenden Code als ein Beispiel geschrieben, obwohl ich glaube, dass es floored ist, da db.close () ausgeführt werden kann, bevor alle asynchronen collection.insert-Aufrufe abgeschlossen sind.
%Vor%Wenn Ihr MongoDB-Server 2.6 oder neuer ist, sollten Sie besser Schreibbefehle verwenden Massen-API , die die Ausführung von Masseneinfügungsoperationen ermöglichen, die einfach Abstraktionen über dem Server sind, um das Erstellen von Massenoperationen zu erleichtern und somit Leistungsverbesserungen mit Ihrem Update zu erzielen Sammlungen.
Das Senden der Bulk-Insert-Operationen in Stapeln führt zu weniger Datenverkehr zum Server und führt daher effiziente Wire-Transaktionen durch, indem nicht alles in einzelnen Anweisungen gesendet wird, sondern stattdessen in verwaltbare Abschnitte für Serververpflichtungen aufgeteilt wird. Es ist auch weniger Zeit auf die Antwort im Rückruf mit diesem Ansatz warten.
Diese Bulk-Operationen kommen hauptsächlich in zwei Varianten vor:
Hinweis: Für ältere Server als 2.6 konvertiert die API die Operationen abwärts. Es ist jedoch nicht möglich, 100% abwärts zu konvertieren, so dass es einige Randfälle gibt, in denen die richtigen Zahlen nicht korrekt gemeldet werden können.
In Ihrem Fall könnten Sie die Massen-API-Einfügeoperation in Stapeln von 1000 wie folgt implementieren:
Für MongoDB 3.2 + mit bulkWrite
Für MongoDB & lt; 3.2
%Vor% Rufen Sie die Funktion createNewEntries()
auf.
Sie können insertMany
verwenden. Es akzeptiert ein Array von Objekten. Überprüfen Sie die API .
Neu in Version 3.2.
Die Methode db.collection.bulkWrite () bietet die Möglichkeit zum Einfügen von Massen , aktualisieren Sie und entfernen Sie Operationen. MongoDB unterstützt auch die Masseneinfügung über die db.collection.insertMany () .
In bulkWrite wird nur insertOne, updateOne, updateMany, replaceOne, deleteOne, deleteMany
unterstütztIn Ihrem Fall, um Daten mit einer einzelnen Codezeile einzufügen, kann die Option insertMany verwendet werden.
Tags und Links javascript node.js mongodb