Después de haber cubierto los conceptos básicos e intermedios de la creación de API en NodeJS, llegamos al punto crucial de nuestro curso de libro electrónico: la creación de un CRUD (Create, Read, Update, Delete) con NodeJS y MongoDB, y el implementación de nuestra aplicación. Este capítulo 16.13 lo guiará paso a paso para realizar esta tarea tan importante.
Preparar el medio ambiente
Primero, asegúrese de tener NodeJS y MongoDB instalados en su sistema. De lo contrario, puede descargarlos e instalarlos desde sus sitios web oficiales. Además, necesitaremos Postman para probar nuestras API y Heroku CLI para implementar nuestra aplicación.
Creando el proyecto NodeJS
Para crear un nuevo proyecto NodeJS, abra la terminal y navegue hasta el directorio donde desea crear el proyecto. Luego ejecute el comando "npm init" para inicializar un nuevo proyecto. Esto creará un nuevo archivo "package.json" en su directorio, que contiene información sobre su proyecto y las dependencias que necesita.
Instalación de dependencias
Para nuestro proyecto, necesitaremos algunas dependencias: express, mongoose, body-parser y nodemon. Para instalarlos, ejecute el comando "npm install express mongoose body-parser nodemon".
Creando el servidor Express
Ahora, creemos nuestro servidor Express. Cree un nuevo archivo llamado "server.js" y agregue el siguiente código:
```javascript const expresar = requerir('expresar'); aplicación constante = expresar(); puerto constante = proceso.env.PORT || 3000; aplicación.listen(puerto, () => { console.log(`El servidor se está ejecutando en el puerto ${port}`); }); ```Este código crea un nuevo servidor Express que escucha en el puerto 3000.
Conectarse a MongoDB
Para conectarnos a MongoDB, necesitamos usar Mongoose, una biblioteca que nos permite interactuar con MongoDB de una manera fácil y directa. Añade el siguiente código a tu "server.js":
```javascript const mangosta = require('mangosta'); mongoose.connect('mongodb://localhost/test', { useNewUrlParser: verdadero, useUnifiedTopology: verdadero }) .then(() => console.log('Conectado a MongoDB')) .catch(err => console.error('No se pudo conectar a MongoDB', err)); ```Este código se conecta a MongoDB ejecutándose localmente en su máquina.
Creando el CRUD
Para crear el CRUD, primero necesitamos definir un modelo para nuestros datos. Cree un nuevo archivo llamado "user.model.js" y agregue el siguiente código:
```javascript const mangosta = require('mangosta'); const Usuario = mangosta.model('Usuario', nueva mangosta.Esquema({ nombre: cadena, correo electrónico: cadena, contraseña: cadena })); module.exports = Usuario; ```Este código define una plantilla de usuario con tres campos: nombre, correo electrónico y contraseña.
Ahora, creemos las rutas para nuestro CRUD. Cree un nuevo archivo llamado "user.routes.js" y agregue el siguiente código:
```javascript const expresar = requerir('expresar'); enrutador constante = express.Router(); const Usuario = require('./usuario.modelo'); enrutador.post('/', async (req, res) => { dejar usuario = nuevo usuario ({ nombre: solicitud.cuerpo.nombre, correo electrónico: req.body.email, contraseña: req.body.contraseña }); usuario = espera usuario.save(); res.enviar(usuario); }); enrutador.get('/', async (req, res) => { usuarios constantes = espera Usuario.find(); res.enviar(usuarios); }); router.get('/:id', async (req, res) => { usuario constante = espera User.findById(req.params.id); if (!user) return res.status(404).send('No se encontró el usuario con el ID proporcionado.'); res.enviar(usuario); }); enrutador.put('/:id', async (req, res) => { usuario constante = espera User.findByIdAndUpdate(req.params.id, { nombre: solicitud.cuerpo.nombre, correo electrónico: req.body.email, contraseña: req.body.contraseña }, {nuevo: verdadero}); if (!user) return res.status(404).send('No se encontró el usuario con el ID proporcionado.'); res.enviar(usuario); }); router.delete('/:id', async (req, res) => { usuario constante = espera User.findByIdAndRemove(req.params.id); if (!user) return res.status(404).send('No se encontró el usuario con el ID proporcionado.'); res.enviar(usuario); }); módulo.exportaciones = enrutador; ```Este código crea las rutas para crear, leer, actualizar y eliminar usuarios.
Implementación de aplicaciones
Finalmente, implementemos nuestra aplicación. Para ello vamos a utilizar Heroku, una plataforma de alojamiento de aplicaciones en la nube. Primero, necesitamos crear un archivo llamado "Procfile" en el directorio raíz de nuestro proyecto. Este archivo le dice a Heroku cómo iniciar nuestra aplicación. Agregue el siguiente código al "Procfile":
``` web: servidor de nodo.js ```A continuación, necesitamos inicializar un nuevo repositorio Git en nuestro proyecto. Ejecute los comandos "git init" y "git add". para agregar todos los archivos al repositorio. Luego ejecute "git commit -m 'Initial commit'" para confirmar los archivos.
Ahora, necesitamos crear una nueva aplicación en Heroku. Para hacer esto, ejecute el comando "heroku create". Esto creará una nueva aplicación y agregará un nuevo control remoto de Git llamado "heroku" a sus repositorios.historia.
Finalmente, podemos implementar nuestra aplicación. Para hacer esto, ejecute el comando "git push heroku master". Esto enviará el código de nuestra aplicación a Heroku, quien creará y ejecutará la aplicación.
¡Felicitaciones! ¡Acaba de crear e implementar una aplicación CRUD con NodeJS y MongoDB! Ahora puede acceder a su aplicación en la dirección proporcionada por Heroku.