Cómo conectar Node.js con MongoDB
Aprende paso a paso cómo conectar una aplicación Node.js con MongoDB usando Mongoose, el ODM más utilizado para bases de datos NoSQL.
Introducción
Conectar una aplicación Node.js con una base de datos MongoDB es un paso esencial para desarrollar aplicaciones completas. MongoDB es una base de datos NoSQL flexible y poderosa, y Mongoose es la herramienta más usada para facilitar esa integración. En esta guía, aprenderás a conectar Node.js con MongoDB de forma segura, usando Mongoose y las mejores prácticas para empezar a trabajar con datos reales.
¿Qué es Mongoose?
Mongoose es una biblioteca de modelado de objetos para MongoDB en Node.js. Te permite definir estructuras de datos (esquemas), aplicar validaciones y manipular la base de datos de forma sencilla. Gracias a Mongoose, puedes trabajar con MongoDB como si estuvieras manipulando objetos JavaScript.
Requisitos previos
- Tener instalado Node.js y npm.
- MongoDB instalado localmente o una cuenta en MongoDB Atlas.
- Conocimientos básicos de JavaScript y Express.js.
Instalación de Mongoose
En la terminal de tu proyecto, ejecuta:
npm install mongoose
Conectar Node.js con MongoDB
En un archivo de configuración (ej. db.js
):
const mongoose = require('mongoose');
mongoose.connect('mongodb://localhost:27017/miapp', {
useNewUrlParser: true,
useUnifiedTopology: true
})
.then(() => console.log('Conexión establecida'))
.catch(err => console.error('Error:', err));
Definir un modelo con Mongoose
const mongoose = require('mongoose');
const UsuarioSchema = new mongoose.Schema({
nombre: String,
email: String,
edad: Number
});
module.exports = mongoose.model('Usuario', UsuarioSchema);
Insertar datos en MongoDB
const Usuario = require('./Usuario');
require('./db');
const nuevoUsuario = new Usuario({
nombre: 'Luis',
email: 'luis@mail.com',
edad: 28
});
nuevoUsuario.save()
.then(doc => console.log('Guardado:', doc))
.catch(err => console.error(err));
Conclusión
Conectar Node.js con MongoDB usando Mongoose te permite gestionar bases de datos NoSQL de forma profesional. Este proceso es esencial en el desarrollo de aplicaciones modernas y te ayudará a dar el siguiente paso hacia proyectos completos con frontend y backend.