16.8. Création d'un CRUD avec NodeJS et MongoDB : Implémentation de fonctions pour créer, lire, mettre à jour et supprimer des données
Pour les développeurs de logiciels, la capacité de créer, lire, mettre à jour et supprimer des données (CRUD) est une compétence essentielle. Dans le cadre de notre cours e-book sur la création d'API dans NodeJS, nous allons maintenant nous concentrer sur la façon de mettre en œuvre ces opérations à l'aide de NodeJS et MongoDB.
Configuration de l'environnement
Avant de commencer, il est important de vous assurer que vous disposez du bon environnement de développement. Vous aurez besoin de NodeJS et MongoDB installés sur votre système. De plus, nous utiliserons Express, un framework pour NodeJS, et Mongoose, un ORM (Object Relational Mapping) pour MongoDB.
Création du modèle de données
Tout d'abord, nous devons définir notre modèle de données. Supposons que nous créons une API pour une application de blog. Notre modèle de données pourrait donc être une « publication », avec des propriétés telles que « titre », « contenu » et « auteur ». En utilisant Mongoose, nous pouvons définir ce modèle comme ceci :
const mangouste = require('mangouste'); const Schema = mangouste.Schema; const PostSchema = nouveau schéma ({ titre : Chaîne, contenu : chaîne, auteur : chaîne }); module.exports = mongoose.model('Post', PostSchema);
Mise en œuvre des opérations CRUD
Créer
Commençons par l'opération "Créer". Nous utiliserons pour cela la route POST. Voici un exemple de la façon dont cela peut être réalisé :
const express = require('express'); const routeur = express.Router(); const Post = require('../models/Post'); router.post('/', async (req, res) => { const post = nouveau message ({ titre : req.body.title, contenu : req.body.content, auteur : req.body.author }); essayer { const savePost = wait post.save(); res.json(savedPost); } attraper (erreur) { res.json({ message : err }); } });
Lire (Lire)
Ensuite, implémentons l'opération « Lire ». Nous utiliserons la route GET pour cela. Voici un exemple de la façon de lire tous les messages et un message spécifique :
// Récupère tous les messages router.get('/', async (req, res) => { essayer { const posts = attendre Post.find(); res.json(messages); } attraper (erreur) { res.json({ message : err }); } }); // Obtenez une publication spécifique router.get('/:postId', async (req, res) => { essayer { const post = attendre Post.findById(req.params.postId); res.json(post); } attraper (erreur) { res.json({ message : err }); } });
Mise à jour
Maintenant, implémentons l'opération « Mettre à jour ». Nous utiliserons la route PATCH pour cela. Voici un exemple de la façon de mettre à jour une publication spécifique :
router.patch('/:postId', async (req, res) => { essayer { const updatePost = attendre Post.updateOne( { _id : req.params.postId }, { $set : { titre : req.body.title, contenu : req.body.content, auteur : req.body.author } } ); res.json(updatedPost); } attraper (erreur) { res.json({ message : err }); } });
Supprimer (Supprimer)
Enfin, implémentons l'opération « Supprimer ». Nous utiliserons la route DELETE pour cela. Voici un exemple de la façon de supprimer une publication spécifique :
router.delete('/:postId', async (req, res) => { essayer { const suppriméPost = wait Post.remove({ _id: req.params.postId }); res.json(removedPost); } attraper (erreur) { res.json({ message : err }); } });
Conclusion
Avec cela, nous terminons la mise en œuvre des opérations CRUD à l'aide de NodeJS et MongoDB. La beauté de NodeJS réside dans sa simplicité et son efficacité, et avec l'aide de packages comme Express et Mongoose, nous pouvons créer des API puissantes et évolutives. N'oubliez pas que la pratique rend parfait, alors continuez à pratiquer et à expérimenter.