16.8. Creando un CRUD con NodeJS y MongoDB: Implementando funciones para crear, leer, actualizar y eliminar datos
Página 92 | Escuchar en audio
16.8. Creando un CRUD con NodeJS y MongoDB: Implementación de funciones para crear, leer, actualizar y eliminar datos
Para los desarrolladores de software, la capacidad de crear, leer, actualizar y eliminar datos (CRUD) es una habilidad esencial. En el contexto de nuestro curso de libro electrónico sobre cómo crear API en NodeJS, ahora nos centraremos en cómo implementar estas operaciones utilizando NodeJS y MongoDB.
Configuración del entorno
Antes de comenzar, es importante asegurarse de tener el entorno de desarrollo adecuado. Necesitará NodeJS y MongoDB instalados en su sistema. Además, usaremos Express, un framework para NodeJS, y Mongoose, un ORM (Object Relational Mapping) para MongoDB.
Creando el modelo de datos
Primero, necesitamos definir nuestro modelo de datos. Supongamos que estamos creando una API para una aplicación de blog. Entonces nuestro modelo de datos podría ser una 'Publicación', con propiedades como 'título', 'contenido' y 'autor'. Usando Mongoose, podemos definir este modelo así:
const mangosta = require('mangosta'); const Esquema = mangosta.Esquema; const PostSchema = nuevo esquema({ título: cadena, contenido: cadena, autor: cadena }); módulo.exportaciones = mangosta.model('Publicar', PostSchema);
Implementación de operaciones CRUD
Crear
Comencemos con la operación 'Crear'. Usaremos la ruta POST para esto. A continuación se muestra un ejemplo de cómo se puede hacer esto:
const expresar = requerir('expresar'); enrutador constante = express.Router(); const Publicación = require('../modelos/Publicación'); enrutador.post('/', async (req, res) => { publicación constante = nueva publicación ({ título: req.body.title, contenido: req.body.content, autor: req.body.autor }); intentar { const savePost = espera post.save(); res.json (publicación guardada); } atrapar (errar) { res.json({ mensaje: err }); } });
Leer (Leer)
A continuación, implementemos la operación 'Leer'. Usaremos la ruta GET para esto. A continuación se muestra un ejemplo de cómo leer todas las publicaciones y una publicación específica:
// Obtener todas las publicaciones enrutador.get('/', async (req, res) => { intentar { publicaciones constantes = esperar Post.find(); res.json (publicaciones); } atrapar (errar) { res.json({ mensaje: err }); } }); // Obtener publicación específica router.get('/:postId', async (req, res) => { intentar { publicación constante = espera Post.findById(req.params.postId); res.json(publicación); } atrapar (errar) { res.json({ mensaje: err }); } });
Actualizar
Ahora, implementemos la operación 'Actualizar'. Usaremos la ruta PATCH para esto. A continuación se muestra un ejemplo de cómo actualizar una publicación específica:
router.patch('/:postId', async (req, res) => { intentar { const updatePost = esperar Post.updateOne( { _id: req.params.postId }, { $conjunto: { título: req.body.title, contenido: req.body.content, autor: req.body.author } } ); res.json(publicación actualizada); } atrapar (errar) { res.json({ mensaje: err }); } });
Eliminar (Eliminar)
Finalmente, implementemos la operación 'Eliminar'. Usaremos la ruta ELIMINAR para esto. A continuación se muestra un ejemplo de cómo eliminar una publicación específica:
router.delete('/:postId', async (req, res) => { intentar { const removePost = await Post.remove({ _id: req.params.postId }); res.json(publicación eliminada); } atrapar (errar) { res.json({ mensaje: err }); } });
Conclusión
Con eso, completamos la implementación de operaciones CRUD usando NodeJS y MongoDB. La belleza de NodeJS es su simplicidad y eficiencia, y con la ayuda de paquetes como Express y Mongoose, podemos crear API potentes y escalables. Recuerda, la práctica hace la perfección, así que sigue practicando y experimentando.
Ahora responde el ejercicio sobre el contenido:
En el contexto del curso de libro electrónico presentado en el texto, ¿cuál es el propósito de las funciones para crear, leer, actualizar y eliminar datos en NodeJS y MongoDB?
¡Tienes razón! Felicitaciones, ahora pasa a la página siguiente.
¡Tú error! Inténtalo de nuevo.
Siguiente página del libro electrónico gratuito: