suchen
HeimWeb-Frontendjs-TutorialBulk importieren Sie eine CSV -Datei mit Mongoose mit node.js in mongoDB

Dieses Thema ist für mich sehr angenehm. In vielen Webanwendungen ist es weit verbreitet, Benutzereingaben zu akzeptieren und einen einzelnen Datensatz in Ihrer Datenbank zu speichern. Aber was ist, wenn Ihre Benutzer (oder Sie) mehrere Einfügungen in einem einzigen Befehl ausführen möchten? Interagiert mit MongoDB. Wenn Sie dies nicht tun, würde ich empfehlen, meine

Einführung in Mongoose für MongoDB und Node.js

Artikel zuerst zu lesen. Dieser Artikel beschreibt, wie Mongoose mit MongoDB interagiert, indem sie starke Schemata erstellen, aus denen ein Modell erstellt wird. Wenn Sie bereits ein gutes Verständnis für Mongoose haben, gehen wir fort. Navigieren Sie in einer Eingabeaufforderung zu dem Ort, an dem Sie Ihre Node.js -Anwendungen hosten möchten, und führen Sie die folgenden Befehle aus:

Verwenden des Flags bedeutet, dass das Projekt mit den vorhandenen Standardwerten initialisiert wird, sodass die Anwendung mit

index.js

beginnt. Bevor wir CSV -Dateien erstellen und analysieren, müssen wir zuerst einige erste Setups durchführen. Wir möchten dies zu einer Webanwendung machen. Dazu verwenden Sie das Express-Paket, um alle Nitty-Gity-Server-Setups zu verarbeiten. Installieren Sie in Ihrer Eingabeaufforderung Express, indem Sie den folgenden Befehl ausführen:

Da diese Webanwendung Dateien über ein Webformular akzeptiert, werden wir auch das Express-Express-Datei-Upload verwenden. Lassen Sie uns dies jetzt auch installieren:
mkdir csvimport<br>cd csvimport<br>npm init -y<br>

-y Wir haben genügend Erstkonfiguration erstellt, um die Webanwendung einzurichten und eine grundlegende Webseite zu erstellen, die ein Datei -Upload -Formular erstellt. Diese Datei legt den Webserver ein. 

Diese Datei importiert Express und die Express -Datei -Upload -Bibliotheken, konfiguriert die Webanwendung so, dass die Datei -Upload verwendet wird, und hört auf Port 8080 zu. Sie erstellt auch eine Route mit Express unter "/", die die Standard -Zielseite für die Webanwendung ist. Diese Route gibt eine
npm install express --save<br>
index.html

-Datei zurück, die das Webformular enthält, mit dem ein Benutzer eine CSV -Datei hochladen kann. Dies bedeutet, dass Sie im Root -Verzeichnis erfolgreich mit dem Webserver verbunden sind. Diese Datei erstellt das Formular zum Hochladen einer CSV -Datei.

  1. Ein Link zu /template , der beim Klicken eine CSV -Vorlage herunterladen kann, die mit den zu importierenden Informationen besiedelt werden kann. Das
  2. ist eine in HTML verwendete Codierungsmethode, wenn das Formular ein Datei -Upload enthält. 
  3. encType multipart/form-data Wenn Sie file http: // localhost: 8080/ besuchen, sehen Sie das früher erstellte Formular. Wenn Sie die Einführung in den Mungoose multipart/form-data -Aktel lesen, wurde ein Autorschema erstellt. In diesem Artikel werden Sie dieses Schema neu erstellen und es dem Benutzer ermöglichen, eine Sammlung von Autoren in die MongoDB -Datenbank zu importieren. Schauen wir uns das Autorenschema an. Bevor wir dies tun, haben Sie es wahrscheinlich vermutet - wir müssen das Mongoose -Paket installieren:

Erstellen des Schemas und des Modells Mit dem installierten Mongoose -Installieren erstellen wir ein neues

Autor. Die CSV -Vorlage, die durch Klicken auf den Vorlagelink heruntergeladen werden kann. Um die CSV -Vorlageerzeugung zu unterstützen, werden wir das Bulk importieren Sie eine CSV -Datei mit Mongoose mit node.js in mongoDB JSON2CSV

-Paket verwenden. Dieses NPM -Paket wandelt JSON mit Spaltentiteln und ordnungsgemäßen Zeilenenden in CSV um. Sie werden diesen neuen Code für die Vorlagenroute an den zuvor erstellten index.js Datei anhängen:

mkdir csvimport<br>cd csvimport<br>npm init -y<br>

Das erste, was dieser Code tut, ist eine neue

template.js

Datei (als nächstes) und erstellen Sie eine Route für /template . In dieser Route wird eine

-Funktion in der Datei
npm install express --save<br>
template.js

aufgerufen. Es erstellt und exportiert dann eine -Funktion. Diese Funktion akzeptiert die Anforderungs- und Antwortobjekte aus dem Express -Server. Dies kann auf zwei Arten erfolgen. Der erste Weg (der in diesem Tutorial erfolgt) besteht darin, eine statische Liste der Felder zu erstellen, die in die Vorlage aufgenommen werden sollen. Der zweite Weg besteht darin, die Felderliste dynamisch zu erstellen, indem die Eigenschaften aus dem Autorenschema extrahiert werden.

mkdir csvimport<br>cd csvimport<br>npm init -y<br>

Es wäre eine schöne Idee gewesen, die dynamische Methode zu verwenden, aber es wird etwas kompliziert, wenn Sie nicht mehrere Eigenschaften aus dem Schema in die CSV -Vorlage einfügen möchten. In diesem Fall enthält unsere CSV -Vorlage die Eigenschaften _id und created nicht, da diese über Code gefüllt werden. Wenn Sie jedoch keine Felder haben, die Sie ausschließen möchten, funktioniert die dynamische Methode ebenfalls. Dieses

-Objekt ist die Ergebnisse dieser Route. In Ihrem Webbrowser wird das Webformular mit einem Link zum Herunterladen der Vorlage angezeigt. Wenn Sie auf den Link zum Herunterladen der Vorlage klicken, können Sie die Datei

Autoren.CSV

herunterladen. Diese Datei wird vor dem Hochladen bevölkert. Kommen wir zu den Fleisch und Kartoffeln dieses Beispiels und analysieren Sie diese CSV -Datei. Die Datei

index.js json2csv erfordert eine Aktualisierung, um eine Verbindung zu MongoDB herzustellen und eine neue Postroute zu erstellen, mit der das Datei -Upload: csv

mit einer Datenbankverbindung und einer neuen konfigurierten Postroute angelegt werden können. Zum Glück gibt es mehrere großartige Bibliotheken, die diesen Job unterstützen. Für dieses Tutorial werden wir das res -Paket verwenden, das mit dem folgenden Befehl installiert werden kann:

Die Postroute wurde ähnlich wie die Vorlagenroute erstellt, die eine

-Funktion aus der Datei upload.js aufruft. Es ist nicht erforderlich, diese Funktionen in separate Dateien zu platzieren. Es ist jedoch am besten, separate Dateien für diese Routen zu erstellen, da er den Code schön und organisiert hält. Die ersten drei Zeilen enthalten die erforderlichen Pakete, die zum Analysieren und Speichern der CSV -Daten erforderlich sind.

Als nächstes wird die Funktion post für die Verwendung durch die Datei index.js exportiert. In dieser Funktion findet die Magie statt. Wenn dies nicht der Fall ist, wird ein Fehler zurückgegeben, der angibt, dass eine Datei hochgeladen werden muss. Dies erfolgt durch den Zugriff auf das Array

und die

Eigenschaft im Array. Die Eigenschaft

entspricht dem Namen meines Dateieingabennamens, der zuerst im Beispiel

index.html authorFile definiert wurde. Dieses Array wird verwendet, um die Daten in der Datenbank zu speichern. Diese Funktion akzeptiert die CSV -Datei als Zeichenfolge. Die Zeichenfolge wird aus der Eigenschaft files extrahiert. Die Eigenschaft file enthält den Inhalt der hochgeladenen CSV -Datei. Diese sind beide auf file festgelegt. Dies gibt der Bibliothek mit, dass die erste Zeile der CSV -Datei die Header enthält und dass leere Zeilen ignoriert werden sollten. Das Ereignis wird für jede Zeile der CSV -Datei einmal aufgerufen. Dieses Ereignis enthält ein JavaScript -Objekt der analysierten Daten. Dieses Objekt wird dann zum -Array hinzugefügt. In der Ereignisrückruffunktion werden wir die Funktion

auf dem Autorenmodell aufrufen und das Array von

an sie übergeben. Andernfalls wird dem Benutzer eine Erfolgsnachricht angezeigt, die angibt, wie viele Autoren in der Datenbank hochgeladen und gespeichert wurden. einige Datensätze hochgeladen. Wenn Ihr Anwendungsfall die Möglichkeit erfordert, Tausende von Datensätzen hochzuladen, ist es möglicherweise eine gute Idee, die Datensätze in kleineren Brocken zu speichern. authors

Dies kann auf verschiedene Arten erfolgen. Wenn ich es implementieren würde, würde ich empfehlen, die data -Rallback -Funktion zu aktualisieren, um die Länge des Autorenarrays zu überprüfen. Wenn das Array Ihre definierte Länge überschreitet, z. 100, rufen Sie die Author.create -Funktion auf dem Array auf und setzen Sie das Array auf leeren zurück. Dadurch wird die Datensätze in Teilen von 100 gespeichert. Lassen Sie die endgültige create -Anruf in der end -Callback -Funktion, um die endgültigen Datensätze zu speichern.

genießen! Mary ist ein Softwareentwickler mit Sitz in Lagos, Nigeria, mit Fachwissen in Node.js, JavaScript, MySQL und NoSQL Technologies.

Das obige ist der detaillierte Inhalt vonBulk importieren Sie eine CSV -Datei mit Mongoose mit node.js in mongoDB. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Von C/C nach JavaScript: Wie alles funktioniertVon C/C nach JavaScript: Wie alles funktioniertApr 14, 2025 am 12:05 AM

Die Verschiebung von C/C zu JavaScript erfordert die Anpassung an dynamische Typisierung, Müllsammlung und asynchrone Programmierung. 1) C/C ist eine statisch typisierte Sprache, die eine manuelle Speicherverwaltung erfordert, während JavaScript dynamisch eingegeben und die Müllsammlung automatisch verarbeitet wird. 2) C/C muss in den Maschinencode kompiliert werden, während JavaScript eine interpretierte Sprache ist. 3) JavaScript führt Konzepte wie Verschlüsse, Prototypketten und Versprechen ein, die die Flexibilität und asynchrone Programmierfunktionen verbessern.

JavaScript -Engines: Implementierungen vergleichenJavaScript -Engines: Implementierungen vergleichenApr 13, 2025 am 12:05 AM

Unterschiedliche JavaScript -Motoren haben unterschiedliche Auswirkungen beim Analysieren und Ausführen von JavaScript -Code, da sich die Implementierungsprinzipien und Optimierungsstrategien jeder Engine unterscheiden. 1. Lexikalanalyse: Quellcode in die lexikalische Einheit umwandeln. 2. Grammatikanalyse: Erzeugen Sie einen abstrakten Syntaxbaum. 3. Optimierung und Kompilierung: Generieren Sie den Maschinencode über den JIT -Compiler. 4. Führen Sie aus: Führen Sie den Maschinencode aus. V8 Engine optimiert durch sofortige Kompilierung und versteckte Klasse.

Jenseits des Browsers: JavaScript in der realen WeltJenseits des Browsers: JavaScript in der realen WeltApr 12, 2025 am 12:06 AM

Zu den Anwendungen von JavaScript in der realen Welt gehören die serverseitige Programmierung, die Entwicklung mobiler Anwendungen und das Internet der Dinge. Die serverseitige Programmierung wird über node.js realisiert, die für die hohe gleichzeitige Anfrageverarbeitung geeignet sind. 2. Die Entwicklung der mobilen Anwendungen erfolgt durch reaktnative und unterstützt die plattformübergreifende Bereitstellung. 3.. Wird für die Steuerung von IoT-Geräten über die Johnny-Five-Bibliothek verwendet, geeignet für Hardware-Interaktion.

Erstellen einer SaaS-Anwendung mit mehreren Mietern mit Next.js (Backend Integration)Erstellen einer SaaS-Anwendung mit mehreren Mietern mit Next.js (Backend Integration)Apr 11, 2025 am 08:23 AM

Ich habe eine funktionale SaaS-Anwendung mit mehreren Mandanten (eine EdTech-App) mit Ihrem täglichen Tech-Tool erstellt und Sie können dasselbe tun. Was ist eine SaaS-Anwendung mit mehreren Mietern? Mit Multi-Tenant-SaaS-Anwendungen können Sie mehrere Kunden aus einem Sing bedienen

So erstellen Sie eine SaaS-Anwendung mit mehreren Mietern mit Next.js (Frontend Integration)So erstellen Sie eine SaaS-Anwendung mit mehreren Mietern mit Next.js (Frontend Integration)Apr 11, 2025 am 08:22 AM

Dieser Artikel zeigt die Frontend -Integration mit einem Backend, das durch die Genehmigung gesichert ist und eine funktionale edtech SaaS -Anwendung unter Verwendung von Next.js. erstellt. Die Frontend erfasst Benutzerberechtigungen zur Steuerung der UI-Sichtbarkeit und stellt sicher, dass API-Anfragen die Rollenbasis einhalten

JavaScript: Erforschung der Vielseitigkeit einer WebspracheJavaScript: Erforschung der Vielseitigkeit einer WebspracheApr 11, 2025 am 12:01 AM

JavaScript ist die Kernsprache der modernen Webentwicklung und wird für seine Vielfalt und Flexibilität häufig verwendet. 1) Front-End-Entwicklung: Erstellen Sie dynamische Webseiten und einseitige Anwendungen durch DOM-Operationen und moderne Rahmenbedingungen (wie React, Vue.js, Angular). 2) Serverseitige Entwicklung: Node.js verwendet ein nicht blockierendes E/A-Modell, um hohe Parallelitäts- und Echtzeitanwendungen zu verarbeiten. 3) Entwicklung von Mobil- und Desktop-Anwendungen: Die plattformübergreifende Entwicklung wird durch reaktnative und elektronen zur Verbesserung der Entwicklungseffizienz realisiert.

Die Entwicklung von JavaScript: Aktuelle Trends und ZukunftsaussichtenDie Entwicklung von JavaScript: Aktuelle Trends und ZukunftsaussichtenApr 10, 2025 am 09:33 AM

Zu den neuesten Trends im JavaScript gehören der Aufstieg von Typenkripten, die Popularität moderner Frameworks und Bibliotheken und die Anwendung der WebAssembly. Zukunftsaussichten umfassen leistungsfähigere Typsysteme, die Entwicklung des serverseitigen JavaScript, die Erweiterung der künstlichen Intelligenz und des maschinellen Lernens sowie das Potenzial von IoT und Edge Computing.

Entmystifizieren JavaScript: Was es tut und warum es wichtig istEntmystifizieren JavaScript: Was es tut und warum es wichtig istApr 09, 2025 am 12:07 AM

JavaScript ist der Eckpfeiler der modernen Webentwicklung. Zu den Hauptfunktionen gehören eine ereignisorientierte Programmierung, die Erzeugung der dynamischen Inhalte und die asynchrone Programmierung. 1) Ereignisgesteuerte Programmierung ermöglicht es Webseiten, sich dynamisch entsprechend den Benutzeroperationen zu ändern. 2) Die dynamische Inhaltsgenerierung ermöglicht die Anpassung der Seiteninhalte gemäß den Bedingungen. 3) Asynchrone Programmierung stellt sicher, dass die Benutzeroberfläche nicht blockiert ist. JavaScript wird häufig in der Webinteraktion, der einseitigen Anwendung und der serverseitigen Entwicklung verwendet, wodurch die Flexibilität der Benutzererfahrung und die plattformübergreifende Entwicklung erheblich verbessert wird.

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

VSCode Windows 64-Bit-Download

VSCode Windows 64-Bit-Download

Ein kostenloser und leistungsstarker IDE-Editor von Microsoft

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

WebStorm-Mac-Version

WebStorm-Mac-Version

Nützliche JavaScript-Entwicklungstools

Sicherer Prüfungsbrowser

Sicherer Prüfungsbrowser

Safe Exam Browser ist eine sichere Browserumgebung für die sichere Teilnahme an Online-Prüfungen. Diese Software verwandelt jeden Computer in einen sicheren Arbeitsplatz. Es kontrolliert den Zugriff auf alle Dienstprogramme und verhindert, dass Schüler nicht autorisierte Ressourcen nutzen.

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung