Ich arbeite an einem Knotenprojekt, mit dem Benutzer CSV-Dateien hochladen können, die dann möglicherweise zu einer Mongo-Datenbank hinzugefügt werden. Ich habe es funktioniert mit einem anderen Modul, aber mit großen Dateien, wird es zu Ende lesen und den Benutzer umleiten, bevor alle Daten verarbeitet wurden. Ich denke, versprochen - CSV wird dabei helfen, aber ich habe Probleme herauszufinden, wie man das aufstellt. Dies ist das aktuelle Setup:Verwenden von versprochenen CSV zum Bearbeiten sehr großer CSV-Dateien
app.post('/import', isLoggedIn, function(req, res) {
var reader = csv.createCsvFileReader(req.files.spreadsheet.path, {columnsFromHeader:true, 'separator': ','});
reader.addListener('data', function(data) {
//do stuff with data here.
})
reader.addListener('end', function(){
fs.unlink(req.files.spreadsheet.path, function(err) {
res.redirect('/');
})
})
});
Ich denke, ich sollte besser klären. Die Dateigröße der CSV-Datei ist nicht sehr groß, enthält jedoch viele Zeilen mit nur etwa 8 Informationsspalten. Ich würde sagen, mit Testdateien, die mehr als 2000 Zeilen enthalten, habe ich die Probleme festgestellt. – user3307654
Wie auch immer, wenn es möglich ist, die Verarbeitung nach Zeilen anstatt nach ganzen Dateien zu machen, ist es besser für die Ereignisschleife, indem sie nicht blockiert wird. –