Este capítulo está dedicado a una de las partes más importantes del desarrollo de API: crear un CRUD (Crear, Leer, Actualizar, Eliminar) con NodeJS y MongoDB. Crearemos rutas para operaciones CRUD y aprenderemos a interactuar con la base de datos MongoDB.
Primero, comprendamos qué es CRUD. CRUD es un acrónimo de Crear, Leer, Actualizar y Eliminar. Estas son las cuatro operaciones básicas que debe tener un sistema para gestionar datos. En nuestra API, vamos a crear rutas para realizar estas operaciones en nuestra base de datos MongoDB.
Para comenzar, necesitamos un entorno de desarrollo NodeJS configurado y una instancia de MongoDB en ejecución. Si aún no tiene esto configurado, consulte los capítulos anteriores de este libro electrónico.
1. Configurando Express y Mongoose
Primero, configuremos Express, que es un marco para NodeJS que nos ayuda a administrar rutas y solicitudes HTTP. Además, vamos a utilizar Mongoose, que es una biblioteca NodeJS para MongoDB que nos permite trabajar con la base de datos de una forma más fácil y segura.
Para instalar estas dependencias, ejecute el siguiente comando en la terminal:
npm instala mangosta express
Después de instalar estas dependencias, configurémoslas en nuestro archivo principal NodeJS. Creemos una instancia de express y conectémonos a MongoDB usando Mongoose.
const expresar = requerir('expresar'); const mangosta = require('mangosta'); aplicación constante = expresar(); mongoose.connect('mongodb://localhost:27017/myapp', {useNewUrlParser: verdadero, useUnifiedTopology: verdadero});
2. Creando el modelo MongoDB
Antes de crear las rutas, necesitamos definir el modelo de datos que vamos a utilizar en MongoDB. Para hacer esto, usaremos Mongoose para crear un esquema de datos.
const UserSchema = nueva mangosta.Schema({ nombre: cadena, correo electrónico: cadena, contraseña: cadena }); const Usuario = mangosta.model('Usuario', UserSchema);
3. Creando rutas para CRUD
Ahora que tenemos el modelo de datos, podemos crear las rutas para las operaciones CRUD. Creemos una ruta para cada operación: crear, leer, actualizar y eliminar.
app.post('/usuarios', async (req, res) => { usuario constante = nuevo usuario (req.body); esperar usuario.save(); res.enviar(usuario); }); app.get('/usuarios', async (req, res) => { usuarios constantes = espera Usuario.find(); res.enviar(usuarios); }); app.get('/usuarios/:id', async (req, res) => { usuario constante = espera User.findById(req.params.id); res.enviar(usuario); }); app.put('/usuarios/:id', async (req, res) => { usuario constante = espera User.findByIdAndUpdate(req.params.id, req.body); res.enviar(usuario); }); app.delete('/usuarios/:id', async (req, res) => { espere User.findByIdAndDelete(req.params.id); res.send('Usuario eliminado'); });
Estas rutas nos permiten crear, leer, actualizar y eliminar usuarios en nuestra base de datos MongoDB. Tenga en cuenta que estamos utilizando operaciones asincrónicas (async/await) para manejar las operaciones de la base de datos, ya que pueden tardar algún tiempo en completarse.
4. Rutas de prueba
Para probar las rutas, podemos utilizar una herramienta como Postman o Insomnia. Simplemente realice una solicitud a la ruta y método HTTP correspondiente y verifique si la operación fue exitosa.
Con esto terminamos de crear un CRUD con NodeJS y MongoDB. Este es un paso fundamental para la creación de API, ya que nos permite gestionar los datos de forma eficiente y segura. Continúe siguiendo los siguientes capítulos para obtener más información sobre el desarrollo de API con NodeJS.