CRUD-Vorgänge – Erstellen, Lesen, Aktualisieren und Löschen – sind für jede Anwendung, die Datenverwaltung erfordert, von grundlegender Bedeutung. Für Entwickler ist es wichtig, diese Vorgänge zu verstehen, da sie die grundlegenden Funktionalitäten bereitstellen, die wir für eine effektive Interaktion mit Datenbanken benötigen. In diesem Blogbeitrag erkläre ich, was CRUD-Operationen sind und wie man sie mit dem MERN-Stack (MongoDB, Express, React und Node.js) implementiert, indem ich zeige, wie ich sie in meine Yoga Pose Library-App integriert habe.
CRUD ist ein Akronym, das für:
stehtDiese Vorgänge bilden das Rückgrat der meisten Webanwendungen, die Datenmanipulation beinhalten. Durch die Implementierung von CRUD-Operationen können Benutzer effektiv mit Daten interagieren und diese verwalten.
Um mit der Implementierung von CRUD-Operationen zu beginnen, habe ich eine MongoDB-Datenbank eingerichtet, um meine Yoga-Posen zu speichern. So können Sie dasselbe tun:
Um eine Verbindung zu MongoDB herzustellen, habe ich Mongoose verwendet, eine Object Data Modeling (ODM)-Bibliothek für MongoDB und Node.js. So habe ich die Verbindung in meiner server.js-Datei hergestellt:
const mongoose = require('mongoose'); mongoose.connect('mongodb://localhost:27017/yogaPoseLibrary') .then(() => console.log('Connected to MongoDB')) .catch(err => console.error('Error connecting to MongoDB', err));
Als nächstes habe ich ein Mongoose-Modell erstellt, um meine Yoga-Posen darzustellen. Dieses Modell ermöglicht eine einfache Interaktion mit der MongoDB-Sammlung. In der Datei models/Pose.js habe ich das Schema wie folgt definiert:
const mongoose = require('mongoose'); const poseSchema = new mongoose.Schema({ name: { type: String, required: true }, description: { type: String, required: true }, }); module.exports = mongoose.model('Pose', poseSchema);
Nachdem die MongoDB-Verbindung und das MongoDB-Modell eingerichtet waren, habe ich die CRUD-Operationen in meinem Express-Server implementiert.
Damit Benutzer neue Yoga-Posen hinzufügen können, habe ich eine Route erstellt, die POST-Anfragen akzeptiert:
app.post('/api/poses', async (req, res) => { try { const newPose = new Pose(req.body); const savedPose = await newPose.save(); res.status(201).json(savedPose); } catch (err) { res.status(500).json({ error: 'Failed to create pose' }); } });
Bei dieser Route wird anhand der im Anfragetext gesendeten Daten eine neue Pose erstellt und in der Datenbank gespeichert.
Für den Lesevorgang habe ich eine Route erstellt, um alle Posen abzurufen:
app.get('/api/poses', async (req, res) => { try { const poses = await Pose.find(); res.json(poses); } catch (err) { res.status(500).json({ error: 'Failed to fetch poses' }); } });
Diese Route ruft alle Yoga-Posen aus der Datenbank ab und sendet sie als JSON-Antwort zurück.
Damit Benutzer vorhandene Posen aktualisieren können, habe ich eine PUT-Route implementiert:
app.put('/api/poses/:id', async (req, res) => { try { const updatedPose = await Pose.findByIdAndUpdate(req.params.id, req.body, { new: true }); res.json(updatedPose); } catch (err) { res.status(500).json({ error: 'Failed to update pose' }); } });
Diese Route aktualisiert eine bestimmte Pose basierend auf der angegebenen ID und gibt die aktualisierte Pose zurück.
Schließlich habe ich den Löschvorgang implementiert:
app.delete('/api/poses/:id', async (req, res) => { try { await Pose.findByIdAndRemove(req.params.id); res.json({ message: 'Pose deleted' }); } catch (err) { res.status(500).json({ error: 'Failed to delete pose' }); } });
Diese Route entfernt eine Pose anhand ihrer ID aus der Datenbank.
Nachdem ich die CRUD-Operationen implementiert hatte, habe ich Postman verwendet, um jeden Endpunkt zu testen. Durch diese Tests wurde sichergestellt, dass meine Routen ordnungsgemäß funktionierten und die Daten wie erwartet verwaltet wurden.
Senden Sie eine POST-Anfrage an /api/poses mit dem folgenden Text:
{
„name“: „Krieger I“,
„Beschreibung“: „Eine stehende Pose, die Beine und Rumpf stärkt.“
}
Senden Sie eine GET-Anfrage an /api/poses.
Senden Sie eine PUT-Anfrage mit den aktualisierten Daten an /api/poses/:id.
Senden Sie eine DELETE-Anfrage an /api/poses/:id.
CRUD-Operationen sind für jede Anwendung, die Datenverwaltung beinhaltet, unerlässlich. Durch die Integration dieser Vorgänge mithilfe des MERN-Stacks in meine Yoga Pose Library-App habe ich eine robuste Anwendung erstellt, die es Benutzern ermöglicht, effektiv mit Yoga-Posen zu interagieren. Das Verstehen und Implementieren von CRUD-Operationen wird Ihre Entwicklungskompetenzen erheblich verbessern und Sie in die Lage versetzen, dynamische Webanwendungen zu erstellen. Während ich meine App weiter verbessere, freue ich mich darauf, weitere Funktionen zu erkunden und das Benutzererlebnis zu verbessern.
Das obige ist der detaillierte Inhalt vonCRUD-Operationen: Was sind sie und wie kann ich sie verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!