En este tutorial, crearemos una API de consulta de MongoDB utilizando Node.js y Express. Asumiremos que ya tienes MongoDB instalado en tu sistema. Si no es así, primero debes instalarlo y asegurarte de que el servidor de MongoDB esté en ejecución.
Configuración inicial
- Crea un directorio para tu proyecto y, dentro de él, ejecuta npm init para iniciar un nuevo proyecto de Node.js.
- Instala las dependencias necesarias:
npm install express mongoose body-parser
Crea un archivo llamado app.js y configura tu aplicación Express básica. Aquí tienes un ejemplo simple:
const express = require('express'); const mongoose = require('mongoose'); const bodyParser = require('body-parser'); const app = express(); const port = 3000; app.use(bodyParser.json()); mongoose.connect('mongodb://localhost:27017/tu_base_de_datos', { useNewUrlParser: true, useUnifiedTopology: true, }); const db = mongoose.connection; db.on('error', console.error.bind(console, 'Error de conexión a MongoDB: ')); db.once('open', () => { console.log('Conectado a MongoDB'); }); app.listen(port, () => { console.log(Servidor API en ejecución en http://localhost:port); });
Definir un modelo de datos
Define un modelo de datos utilizando Mongoose. En este ejemplo, crearemos un modelo de datos para un objeto llamado "Persona" con campos como "nombre" y "edad". Agrega esto en tu archivo app.js:
const mongoose = require('mongoose'); const personSchema = new mongoose.Schema({ nombre: String, edad: Number, }); const Persona = mongoose.model('Persona', personSchema);
Crear rutas para la API
Ahora, crearemos rutas para realizar operaciones CRUD en la colección de personas. Agrega estas rutas a tu archivo app.js:
// Obtener todas las personas app.get('/api/personas', async (req, res) => { const personas = await Persona.find(); res.json(personas); }); // Crear una nueva persona app.post('/api/personas', async (req, res) => { const nuevaPersona = new Persona(req.body); await nuevaPersona.save(); res.json(nuevaPersona); }); // Obtener una persona por ID app.get('/api/personas/:id', async (req, res) => { const persona = await Persona.findById(req.params.id); res.json(persona); }); // Actualizar una persona por ID app.put('/api/personas/:id', async (req, res) => { await Persona.findByIdAndUpdate(req.params.id, req.body); res.json({ message: 'Persona actualizada' }); }); // Eliminar una persona por ID app.delete('/api/personas/:id', async (req, res) => { await Persona.findByIdAndRemove(req.params.id); res.json({ message: 'Persona eliminada' }); });
Ejecutar la API
Ahora puedes ejecutar tu API de consulta de MongoDB utilizando el siguiente comando:
node app.js
Tu API estará disponible en http://localhost:3000.
Prueba la API
Utiliza herramientas como Postman o curl para probar las rutas de tu API. Puedes realizar solicitudes GET, POST, PUT y DELETE para interactuar con la base de datos de MongoDB y gestionar los datos de las personas.
Este tutorial te proporciona una introducción básica para crear una API de consulta de MongoDB. Puedes personalizarla según tus necesidades y agregar autenticación, validación de datos, paginación, etc., para hacerla más robusta y segura.