API de Consulta de MongoDB
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.
MongoDB almacena documentos JSON flexibles. Esta operación encaja en el flujo consultar → filtrar → transformar → agregar que verás en el tutorial completo.
Prueba en el editor y adapta los campos del documento a tu caso de uso.
Configuración inicial
-
Crea un directorio para tu proyecto y, dentro de él, ejecuta
npm initpara iniciar un nuevo proyecto de Node.js. - Instala las dependencias necesarias:
Ejemplo
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:
Ejemplo
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
:
Ejemplo
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
:
Ejemplo
// 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:
Ejemplo
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.
Resumen
- Repasa el ejemplo principal y varíalo con tus propios datos.
- Continúa con la lección siguiente del tutorial.