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.


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.