Node.js ist eine leichte JavaScript-Laufzeitumgebung, die JavaScript zum Schreiben von serverseitigem Code verwenden kann, asynchrone E/A und ereignisgesteuerte Modelle unterstützt und sich ideal für die Erstellung hoch skalierbarer Netzwerkanwendungen eignet. Bei der Entwicklung von Webanwendungen ist es häufig erforderlich, mit der Datenbank zu interagieren, z. B. Benutzerinformationen abzufragen, Bestellhistorien abzurufen usw. In diesem Artikel wird erläutert, wie Sie die Datenbank abfragen und Daten in Node.js zurückgeben.
Datenbank auswählen
Bevor wir mit der Abfrage der Datenbank beginnen, müssen wir die Datenbank auswählen, die wir verwenden möchten. Node.js unterstützt viele beliebte Datenbanken wie MongoDB, MySQL und PostgreSQL. Jede Datenbank hat ihre Vor- und Nachteile, und die geeignete Datenbank sollte basierend auf den Projektanforderungen ausgewählt werden. In diesem Artikel verwenden wir die MySQL-Datenbank.
MySQL installieren
Bevor wir die MySQL-Datenbank verwenden, müssen wir zuerst MySQL installieren. Unter Ubuntu können Sie den folgenden Befehl verwenden:
sudo apt-get update sudo apt-get install mysql-server
Unter Windows können Sie das Installationsprogramm von der offiziellen MySQL-Website herunterladen und den Anweisungen zur Installation folgen.
Mit MySQL-Datenbank verbinden
In Node.js können wir das npm-Paket mysql verwenden, um mit der MySQL-Datenbank zu interagieren. Um diese Bibliothek verwenden zu können, müssen wir sie zuerst installieren. Sie können den folgenden Befehl verwenden:
npm install mysql
Um eine Verbindung zu einer MySQL-Datenbank herzustellen, muss ein Verbindungspool erstellt werden, der für die Verwaltung aller Verbindungen zur Datenbank verantwortlich ist. Das Folgende ist ein Beispielcode zum Herstellen einer Verbindung zu einer MySQL-Datenbank:
const mysql = require('mysql'); const pool = mysql.createPool({ connectionLimit: 10, host: 'localhost', user: 'username', password: 'password', database: 'database_name' }); pool.getConnection((err, connection) => { if (err) throw err; console.log('Connected to MySQL'); })
Im Beispiel erstellen wir einen Verbindungspool mit der Methode mysql.createPool und übergeben einige Optionen wie maximale Anzahl von Verbindungen, Hostname, Benutzername, Passwort und Name der Datenbank, zu der eine Verbindung hergestellt werden soll. Anschließend verwenden wir die Methode pool.getConnection, um eine Verbindung aus dem Verbindungspool abzurufen. Bei Erfolg wird die Meldung „Mit MySQL verbunden“ gedruckt.
Datenbank abfragen
Nachdem wir eine Verbindung zur MySQL-Datenbank hergestellt haben, können wir das Verbindungsobjekt verwenden, um die Datenbank abzufragen. Das Folgende ist ein Beispielcode zum Abfragen aller Benutzer in der MySQL-Datenbank:
const mysql = require('mysql'); const pool = mysql.createPool({ connectionLimit: 10, host: 'localhost', user: 'username', password: 'password', database: 'database_name' }); pool.getConnection((err, connection) => { if (err) throw err; connection.query('SELECT * FROM users', (err, rows) => { if (err) throw err; console.log(rows); connection.release(); }); });
In diesem Beispiel verwenden wir die Methode „connection.query“, um alle Benutzer in der MySQL-Datenbank abzufragen. Diese Methode akzeptiert zwei Parameter: eine Zeichenfolge, die die SQL-Abfrage enthält, und eine Rückruffunktion. Wenn die Abfrage erfolgreich ist, ist der zweite Parameter der Callback-Funktion ein Array, das alle Abfrageergebnisse enthält. In diesem Beispiel drucken wir die Ergebnisse auf der Konsole aus und geben die Datenbankverbindung mithilfe der Methode „connection.release“ frei.
Die Abfrageergebnisse können weiterverarbeitet werden. Beispielsweise können wir die Methode Array.map verwenden, um das Ergebnis in ein Array von Objekten und E-Mail-Eigenschaften umzuwandeln.
Ergebnisse begrenzen
In einigen Fällen müssen Sie möglicherweise die Abfrageergebnisse einschränken, z. B. indem Sie nur die zehn besten Ergebnisse zurückgeben. In MySQL können Sie die LIMIT-Klausel verwenden, um die Ergebnisse einzuschränken. Hier ist ein Beispielcode, der zeigt, wie man die Ergebnisse einschränkt:
rows = rows.map(row => { return { id: row.id, name: row.name, email: row.email }; });
In diesem Beispiel verwenden wir die LIMIT-Klausel, um die Ergebnisse nur auf die ersten zehn Zeilen zu beschränken.
Ergebnisse filtern
In manchen Fällen kann es notwendig sein, Abfrageergebnisse basierend auf bestimmten Bedingungen zu filtern. In MySQL können Sie die WHERE-Klausel verwenden, um Ergebnisse zu filtern. Hier ist ein Beispielcode, der zeigt, wie die WHERE-Klausel zum Filtern der Ergebnisse verwendet wird:
connection.query('SELECT * FROM users LIMIT 10', (err, rows) => { if (err) throw err; console.log(rows); connection.release(); });
In diesem Beispiel verwenden wir die WHERE-Klausel, um die Ergebnisse so zu filtern, dass nur Benutzer einbezogen werden, die älter als 18 Jahre sind alt.
Zusammenfassung
In diesem Artikel haben wir vorgestellt, wie man eine MySQL-Datenbank in Node.js abfragt und die Ergebnisse zurückgibt. Zuerst stellen wir eine Verbindung zur MySQL-Datenbank her, führen dann die Abfrage aus und verarbeiten die Ergebnisse mithilfe einer Callback-Funktion. Wir haben auch besprochen, wie man die Ergebnisse einschränkt, filtert und weiterverarbeitet. Ich hoffe, dieser Artikel kann Ihnen beim Abfragen der Datenbank in Node.js helfen.
Das obige ist der detaillierte Inhalt vonNodeJS-Abfragedatenbankrückgabe. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!