"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Operaciones CRUD: ¿Qué son y cómo puedo utilizarlas?

Operaciones CRUD: ¿Qué son y cómo puedo utilizarlas?

Publicado el 2024-11-07
Navegar:184

CRUD Operations: What Are They, and How Can I Use Them?

Operaciones CRUD: ¿Qué son y cómo puedo utilizarlas?

Las operaciones CRUD (Crear, Leer, Actualizar y Eliminar) son fundamentales para cualquier aplicación que requiera administración de datos. Es importante que los desarrolladores comprendan estas operaciones, ya que proporcionan las funcionalidades básicas que necesitamos para interactuar con las bases de datos de manera efectiva. En esta publicación de blog, explicaré qué son las operaciones CRUD y cómo implementarlas usando la pila MERN (MongoDB, Express, React y Node.js) mostrando cómo las integré en mi aplicación Yoga Pose Library.

¿Qué son las Operaciones CRUD?

CRUD es un acrónimo que significa:

  • Crear: Agrega nuevos datos a la base de datos.
  • Leer: Recupera datos de la base de datos.
  • Actualización: Modifica datos existentes en la base de datos.
  • Eliminar: Elimina datos de la base de datos.

Estas operaciones forman la columna vertebral de la mayoría de las aplicaciones web que implican manipulación de datos. La implementación de operaciones CRUD permite a los usuarios interactuar y administrar datos de manera efectiva.

Configuración de la pila MERN para operaciones CRUD

1. Configurando MongoDB

Para comenzar a implementar operaciones CRUD, configuré una base de datos MongoDB para almacenar mis posturas de yoga. Así es como puedes hacer lo mismo:

  • Instalar MongoDB: Descargue e instale MongoDB desde el sitio web oficial
  • Inicie el servidor MongoDB: Ejecute mongod en su terminal para iniciar el servidor.

2. Conéctese a MongoDB

Para conectarme a MongoDB, utilicé Mongoose, una biblioteca de modelado de datos de objetos (ODM) para MongoDB y Node.js. Así es como establecí la conexión en mi archivo server.js:



const mongoose = require('mongoose');

mongoose.connect('mongodb://localhost:27017/yogaPoseLibrary')
.then(() => console.log('Connected to MongoDB'))
.catch(err => console.error('Error connecting to MongoDB', err));


3. Creando un modelo de mangosta

A continuación, creé un modelo de mangosta para representar mis posturas de yoga. Este modelo permite una fácil interacción con la colección MongoDB. En el archivo models/Pose.js, definí el esquema de la siguiente manera:



const mongoose = require('mongoose');

const poseSchema = new mongoose.Schema({
  name: { type: String, required: true },
  description: { type: String, required: true },
});

module.exports = mongoose.model('Pose', poseSchema);


Implementación de operaciones CRUD

Con la conexión MongoDB y el modelo configurado, implementé las operaciones CRUD en mi servidor Express.

1. Crear (POST)

Para permitir a los usuarios agregar nuevas posturas de yoga, creé una ruta que acepta solicitudes POST:



app.post('/api/poses', async (req, res) => {
  try {
    const newPose = new Pose(req.body);
    const savedPose = await newPose.save();
    res.status(201).json(savedPose);
  } catch (err) {
    res.status(500).json({ error: 'Failed to create pose' });
  }
});


En esta ruta, se crea una nueva pose utilizando los datos enviados en el cuerpo de la solicitud y se guarda en la base de datos.

2. Leer (OBTENER)

Para la operación de lectura, creé una ruta para recuperar todas las poses:



app.get('/api/poses', async (req, res) => {
  try {
    const poses = await Pose.find();
    res.json(poses);
  } catch (err) {
    res.status(500).json({ error: 'Failed to fetch poses' });
  }
});


Esta ruta recupera todas las posturas de yoga de la base de datos y las envía como respuesta JSON.

3. Actualización (PONER)

Para permitir a los usuarios actualizar poses existentes, implementé una ruta PUT:


app.put('/api/poses/:id', async (req, res) => {
  try {
    const updatedPose = await Pose.findByIdAndUpdate(req.params.id, req.body, { new: true });
    res.json(updatedPose);
  } catch (err) {
    res.status(500).json({ error: 'Failed to update pose' });
  }
});


Esta ruta actualiza una pose específica según la identificación proporcionada y devuelve la pose actualizada.

4. Eliminar (ELIMINAR)

Finalmente, implementé la operación Eliminar:


app.delete('/api/poses/:id', async (req, res) => {
  try {
    await Pose.findByIdAndRemove(req.params.id);
    res.json({ message: 'Pose deleted' });
  } catch (err) {
    res.status(500).json({ error: 'Failed to delete pose' });
  }
});


Esta ruta elimina una pose de la base de datos usando su ID.

Prueba de operaciones CRUD

Una vez que implementé las operaciones CRUD, utilicé Postman para probar cada punto final. Esta prueba garantizó que mis rutas funcionaran correctamente y que los datos se administraran como se esperaba.

Pruebas de ejemplo

  • Crear una nueva pose:

Enviar una solicitud POST a /api/poses con el siguiente cuerpo:


{
"nombre": "Guerrero I",
"description": "Una postura de pie que fortalece las piernas y el tronco."
}

  • Leer todas las poses:

Enviar una solicitud GET a /api/poses.

  • Actualizar una pose existente:

Enviar una solicitud PUT a /api/poses/:id con los datos actualizados.

  • Eliminar una pose:

Envíe una solicitud DELETE a /api/poses/:id.

Conclusión

Las operaciones CRUD son esenciales para cualquier aplicación que implique gestión de datos. Al integrar estas operaciones en mi aplicación Yoga Pose Library utilizando la pila MERN, he creado una aplicación sólida que permite a los usuarios interactuar con posturas de yoga de manera efectiva. Comprender e implementar operaciones CRUD mejorará significativamente sus habilidades de desarrollo y le permitirá crear aplicaciones web dinámicas. A medida que sigo mejorando mi aplicación, espero explorar más funciones y mejorar la experiencia del usuario.

Declaración de liberación Este artículo se reproduce en: https://dev.to/wendyver/crud-operatives-what-are-they-and-how-can-i-use-them-589i?1 Si hay alguna infracción, comuníquese con Study_golang @163.com eliminar
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3