![](https://cursa-json-routes.s3.amazonaws.com/texts/byId/1000419/imgs/94.jpg)
16.10. Créer un CRUD avec NodeJS et MongoDB : gestion des erreurs
Página 94
L'un des concepts fondamentaux dans le développement d'applications Web est CRUD (Créer, Lire, Mettre à jour, Supprimer). Il s’agit des quatre types de fonctionnalités de base que la plupart des systèmes Web doivent exécuter à un moment donné. Dans ce chapitre, nous apprendrons comment implémenter des opérations CRUD à l'aide de NodeJS et MongoDB, avec un accent particulier sur la gestion des erreurs.
Créer un CRUD avec NodeJS et MongoDB
Pour commencer, nous avons besoin d'une instance MongoDB en cours d'exécution et d'une application NodeJS configurée. Supposons que nous ayons déjà une collection d'utilisateurs dans notre base de données MongoDB. Notre objectif est de créer des itinéraires pour ajouter un nouvel utilisateur, lire les utilisateurs existants, mettre à jour un utilisateur et supprimer un utilisateur.
Créer un nouvel utilisateur (Créer)
Pour créer un nouvel utilisateur, nous avons besoin d'une route POST. Dans NodeJS, cela peut être fait à l'aide du package express. Tout d’abord, nous importons express et l’initialisons. Ensuite, nous définissons une route POST qui accepte les données de l'utilisateur au format JSON dans le corps de la requête. Nous utilisons la méthode insertOne de MongoDB pour ajouter le nouvel utilisateur à notre collection.
const express = require('express');
const app = express();
app.use(express.json());
app.post('/users', (req, res) => {
const newUser = req.body;
db.collection('users').insertOne(newUser, (erreur, résultat) => {
si (erreur) {
res.status(500).send({ error: 'Une erreur s'est produite lors de la création de l'utilisateur' });
} autre {
res.status(201).send(result.ops[0]);
}
});
});
Lecture des utilisateurs existants (Lecture)
Pour lire les utilisateurs existants, nous avons besoin d'une route GET. Nous définissons cette route et utilisons la méthode find de MongoDB pour obtenir tous les utilisateurs de notre collection. La méthode toArray convertit le résultat en tableau pour une manipulation facile.
app.get('/users', (req, res) => {
db.collection('users').find({}).toArray((err, utilisateurs) => {
si (erreur) {
res.status(500).send({ error : 'Une erreur s'est produite lors de la récupération des utilisateurs' });
} autre {
res.send(utilisateurs);
}
});
});
Mise à jour d'un utilisateur (Mise à jour)
Pour mettre à jour un utilisateur, nous avons besoin d'une route PUT. Cet itinéraire doit inclure l'ID utilisateur que nous souhaitons mettre à jour. Nous utilisons la méthode findOneAndUpdate de MongoDB pour mettre à jour l'utilisateur. Nous spécifions l'ID utilisateur comme critère de recherche et transmettons les nouvelles données utilisateur.
app.put('/users/:id', (req, res) => {
const userId = req.params.id;
const newUserData = req.body;
db.collection('users').findOneAndUpdate({ _id: ObjectId(userId) }, { $set: newUserData }, (err, result) => {
si (erreur) {
res.status(500).send({ error: 'Une erreur s'est produite lors de la mise à jour de l'utilisateur' });
} autre {
res.send(result.value);
}
});
});
Supprimer un utilisateur (Supprimer)
Pour supprimer un utilisateur, nous avons besoin d'une route DELETE. Cet itinéraire doit également inclure l'ID utilisateur que nous souhaitons supprimer. Nous utilisons la méthode findOneAndDelete de MongoDB pour supprimer l'utilisateur.
app.delete('/users/:id', (req, res) => {
const userId = req.params.id;
db.collection('users').findOneAndDelete({ _id: ObjectId(userId) }, (err, result) => {
si (erreur) {
res.status(500).send({ error : 'Une erreur s'est produite lors de la suppression de l'utilisateur' });
} autre {
res.send(result.value);
}
});
});
Gestion des erreurs
La gestion des erreurs est un élément crucial de tout développement d'application. Sur toutes nos routes, nous vérifions si une erreur s'est produite lors du fonctionnement de la base de données. Si une erreur s'est produite, nous répondons avec un statut HTTP 500 et un message d'erreur. Cela permet au client de savoir que quelque chose ne va pas.
Dans un environnement de production, vous devez également envisager de consigner les erreurs. Cela peut être fait en utilisant un package comme Winston ou Morgan. Ces packages vous permettent de consigner automatiquement les rapports de bogues et d'autres informations utiles.
En bref, CRUD est un concept fondamental dans le développement d'applications Web. Avec NodeJS et MongoDB, nous pouvons implémenter les opérations CRUD de manière efficace et simple. La gestion des erreurs est un élément crucial car elle nous permet de gérer les situations inattendues de manière élégante.
Répondez maintenant à l’exercice sur le contenu :
Que signifie l'acronyme CRUD dans le contexte du développement d'applications web et quelles opérations représente-t-il ?
Tu as raison! Félicitations, passez maintenant à la page suivante
Vous avez raté! Essayer à nouveau.
![](https://cursa-json-routes.s3.amazonaws.com/texts/byId/1000419/imgs/95.jpg)
Page suivante de lebook gratuit :