Imagen del artículo Creando un CRUD con NodeJS y MongoDB: Validación de datos recibidos

16.9. Creando un CRUD con NodeJS y MongoDB: Validación de datos recibidos

Página 93 | Escuchar en audio

16.9. Creando un CRUD con NodeJS y MongoDB: Validación de datos recibidos

Para empezar, CRUD es un acrónimo de las operaciones básicas que podemos realizar en cualquier base de datos: Crear, Leer, Actualizar y Eliminar. En este capítulo, exploraremos cómo crear un CRUD usando NodeJS y MongoDB y, en particular, nos centraremos en validar los datos entrantes.

¿Por qué es importante la validación de datos?

La validación de datos es un paso crucial en el desarrollo de cualquier aplicación. Garantiza que los datos que recibimos sean del tipo y formato que esperamos. Esto es importante por varias razones. Primero, ayuda a proteger nuestra base de datos de datos maliciosos o corruptos. En segundo lugar, ayuda a mantener la coherencia de los datos, lo cual es crucial para la integridad de la base de datos. En tercer lugar, puede mejorar la experiencia del usuario al proporcionar comentarios útiles cuando los datos ingresados ​​no son válidos.

Configurando el entorno NodeJS y MongoDB

Primero, necesitamos configurar nuestro entorno de desarrollo. Esto implica instalar NodeJS y MongoDB en nuestro sistema. Después de la instalación, podemos iniciar un nuevo proyecto NodeJS e instalar los paquetes necesarios. Para este tutorial, necesitaremos los paquetes express, mongoose y joi.

Creando el modelo de datos

Utilizaremos mangosta para crear nuestro modelo de datos. mongoose es una herramienta que facilita la interacción con MongoDB desde NodeJS. Nos permite definir la estructura de nuestros datos mediante esquemas. A continuación se muestra un ejemplo de cómo podemos definir un esquema para un usuario:

const mangosta = require('mangosta');
const Esquema = mangosta.Esquema;

const UserSchema = nuevo esquema({
  nombre: {
    tipo: cadena,
    requerido: verdadero
  },
  correo electrónico: {
    tipo: cadena,
    requerido: verdadero,
    único: verdadero
  },
  contraseña: {
    tipo: cadena,
    requerido: verdadero
  }
});

module.exports = mongoose.model('Usuario', UserSchema);

Validación de datos con Joi

Joi es una biblioteca de validación de datos potente y flexible para JavaScript. Nos permite definir esquemas de validación con una sintaxis clara y concisa. Aquí hay un ejemplo de cómo podemos usar Joi para validar datos de entrada para nuestro modelo de usuario:

const Joi = requerir('joi');

const UserValidationSchema = Joi.object({
  nombre: Joi.string().required(),
  correo electrónico: Joi.string().correo electrónico().required(),
  contraseña: Joi.string().min(8).required()
});

module.exports = UserValidationSchema;

Integrando la validación de datos en nuestras rutas

Ahora que tenemos nuestra validación de datos configurada, podemos integrarla en nuestras rutas. A continuación se muestra un ejemplo de cómo podemos hacer esto para la ruta de creación de usuarios:

const expresar = requerir('expresar');
enrutador constante = express.Router();
const Usuario = require('../modelos/Usuario');
const UserValidationSchema = require('../validation/UserValidationSchema');

enrutador.post('/', async (req, res) => {
  const {error} = UserValidationSchema.validate(req.body);
  
  si (error) {
    return res.status(400).send(error.details[0].message);
  }

  usuario constante = nuevo usuario (req.body);
  esperar usuario.save();
  
  res.enviar(usuario);
});

módulo.exportaciones = enrutador;

En este ejemplo, primero validamos los datos de entrada usando nuestro esquema de validación. Si la validación falla, devolvemos un error 400 con el mensaje de error. Si la validación es exitosa, procedemos a crear el usuario.

Conclusión

La validación de datos es un paso crucial en el desarrollo de cualquier aplicación. Ayuda a proteger nuestra base de datos, mantener la coherencia de los datos y mejorar la experiencia del usuario. En este capítulo, exploramos cómo crear un CRUD con NodeJS y MongoDB y cómo integrar la validación de datos en nuestras rutas usando Joi.

Ahora responde el ejercicio sobre el contenido:

¿Qué significan las siglas CRUD y por qué es importante la validación de datos en un CRUD con NodeJS y MongoDB?

¡Tienes razón! Felicitaciones, ahora pasa a la página siguiente.

¡Tú error! Inténtalo de nuevo.

Imagen del artículo Creando un CRUD con NodeJS y MongoDB: Manejo de errores

Siguiente página del libro electrónico gratuito:

94Creando un CRUD con NodeJS y MongoDB: Manejo de errores

5 minutos

¡Obtén tu certificado para este curso gratis! descargando la aplicación Cursa y leyendo el libro electrónico allí. ¡Disponible en Google Play o App Store!

Disponible en Google Play Disponible en App Store

+ 6,5 millones
estudiantes

Certificado gratuito y
válido con código QR

48 mil ejercicios
gratis

Calificación de 4.8/5
en tiendas de aplicaciones

Cursos gratuitos de
vídeo, audio y texto.