So schreiben Sie PostgreSQL-Abfragen für Node.js.

Einführung

Wenn Sie eine RESTful-API in Node.js schreiben, müssen Sie sich zwischen einer relationalen oder einer nicht relationalen Datenbank entscheiden. Wenn Sie sich für Ersteres entschieden haben, müssen Sie wissen, wie Sie grundlegende CRUD-Abfragen schreiben, damit Ihre API auf sinnvolle Weise mit Ihrer Datenbank kommunizieren kann. In diesem Blog gehe ich auf die vier grundlegenden Abfragen ein, mit denen Sie mit Node.js und PostgreSQL eine RESTful-API erstellen können. Hinweis: In diesem Blog wird davon ausgegangen, dass Node.js, PostgreSQL und pg bereits installiert sind.

Abfrage zum Erstellen

Hier erstellen wir eine Route zur Bearbeitung einer Post-Anfrage, bei der wir neue Daten in eine Tabelle mit dem Namen "todo" einfügen. Wir machen eine neue Aufgabe, bei der unsere Beschreibung der Beschreibung entspricht, die unser Benutzer in seine Anfrage aufgenommen hat. Das '$ 1' fungiert als Platzhalter für eine Variable und ermöglicht es uns, jede gewünschte Variable in unsere Abfrage einzufügen. Stellen Sie sicher, dass Sie 'RETURNING *' schreiben, da dies die einzige Möglichkeit ist, Informationen von der Abfrage zurück zu erhalten. Wir senden dann eine JSON-Antwort mit den Daten, die wir gerade aktualisiert haben.

Code zum Erstellen

app.post("/todos", async (req, res) => {
try{
const {description} = req.body;
//This takes our description that we sent in and inserts into the todo table
const newTodo = await pool.query("INSERT INTO todo (description) VALUES ($1) RETURNING *", [description]);
res.json(newTodo.rows[0]);
} catch(error){
console.log(error.message)
}
});

Diese Abfrage ist viel einfacher. Wir nehmen die ID von den Parametern und wählen alle Daten aus, die diese ID haben. Dann senden wir eine Antwort mit diesen Daten.

Code zum Lesen

app.get("/todos/:id", async (req, res) => {
const { id } = req.params;
try {
const todo = await pool.query("SELECT * FROM todo WHERE todo_id = $1", [id]);
res.json(todo.rows[0]);
} catch (error){
console.log(error.message);
}
});

Hier müssen wir die ID der Aufgabe haben, die wir aktualisieren möchten, und die aktualisierte Beschreibung. Wir müssen dann die Aufgabe mit dieser ID aktualisieren und die Beschreibung so einstellen, dass sie unserer aktualisierten Beschreibung entspricht. Stellen Sie erneut sicher, dass Sie RETURNING * eingeben, um die aktualisierten Daten zurückzugeben.

Code für das Update

app.delete("/todos/:id", async (req, res) => {
try {
const { id } = req.params;
const deleteTodo = await pool.query("DELETE FROM todo WHERE todo_id = $1", [id]);
res.status(500).json("Todo was deleted!")
} catch (error){
console.error(error.message);
}
});

Hier brauchen wir einfach die ID der Aufgabe, die wir löschen möchten, und löschen sie aus der Tabelle. Hier sende ich einfach eine Nachricht an das Frontend zurück, die besagt, dass die Aufgabe gelöscht wurde.

Code zum Löschen

app.delete("/todos/:id", async (req, res) => {
try {
const { id } = req.params;
const deletedTodo = await pool.query("DELETE FROM todo WHERE todo_id = $1", [id]);
res.status(500).json("Todo was deleted!")
} catch (error){
console.error(error.message);
}
});

https://www.youtube.com/watch?v=_Mun4eOOf2Q

Suggested posts

Die No-Code-Revolution: Mit Webflow, Framer, Bubble.io den Geschäftserfolg entfesseln

Die No-Code-Revolution: Mit Webflow, Framer, Bubble.io den Geschäftserfolg entfesseln

Begeben Sie sich auf eine spannende Reise voller Innovation und Erfolg und erschließen Sie das ungenutzte Potenzial dieser überraschenden No-Code-Plattformen. Lassen Sie mich eine Geschichte über Sapna erzählen, eine bemerkenswerte Unternehmerin.

Meine am häufigsten verwendeten Codierungsressourcen

Meine am häufigsten verwendeten Codierungsressourcen

Diese Woche erhielt ich eine E-Mail von einem Mitglied der täglichen E-Mail-Liste. Sie wollten wissen: Welche Ressourcen besuchen Sie täglich, wöchentlich und monatlich? Tolle Frage! Ich versuche gerne, einige Einblicke in meinen Arbeitsablauf und die wichtigsten Ressourcen, die ich verwende, mit Ihnen zu teilen.

Related posts

Zeitschrift Ouvert

Zeitschrift Ouvert

Offenes Tagebuch: Ein Bild pro Tag. Geschichten haben mich schon immer fasziniert.

Zwei Jahre im Design – Das Gute, das Schlechte und das Hässliche…

Zwei Jahre im Design – Das Gute, das Schlechte und das Hässliche…

„Hey Siri, spiel Me Dive von Olivia Dean.“ Es war Mai 2021, als ich mein Praktikum bei der Future Academy Africa in Akure, Nigeria, begann.

Die Workplace-Revolution: Top-Experten diskutieren über Hybrid- und Remote-Arbeit

Die Workplace-Revolution: Top-Experten diskutieren über Hybrid- und Remote-Arbeit

In der sich schnell entwickelnden Geschäftslandschaft von heute hat das Konzept der Hybrid- und Remote-Arbeit eine beispiellose Dynamik erlangt. Während sich Unternehmen weiterhin an die sich verändernden Bedürfnisse und Erwartungen ihrer Mitarbeiter anpassen, sind Experten aus verschiedenen Bereichen zusammengekommen, um die Vorteile, Herausforderungen und die Zukunft dieser transformativen Arbeitsweise zu diskutieren.

Verfolgen Sie jeden mit nur einer Telefonnummer | OSINT-Untersuchung

Verfolgen Sie jeden mit nur einer Telefonnummer | OSINT-Untersuchung

Sie können ein OSINT-Ermittler, ein CTF-Spieler oder einfach jemand sein, der Spam-Anrufe erhält. Jemand, der versucht, die Nummer zu bestätigen, die Sie in einer Anzeige gesehen haben.