Conectar MongoDB con Node.js es un proceso sencillo que se puede lograr utilizando el módulo oficial de MongoDB llamado mongodb
o a través de una librería más avanzada como Mongoose
, que facilita la interacción con MongoDB mediante un sistema de modelos y esquemas.
A continuación, veremos cómo conectarse a MongoDB utilizando ambos métodos: con el cliente nativo mongodb
y con Mongoose
.
mongodb
mongodb
Primero, asegúrate de tener Node.js instalado. Luego, crea un proyecto y dentro de tu proyecto instala el paquete mongodb
con el siguiente comando:
npm install mongodb
A continuación, configura la conexión con MongoDB. Crea un archivo llamado app.js
e importa el cliente MongoClient desde el paquete mongodb
.
// Importar el cliente MongoClient desde el paquete mongodb
const { MongoClient } = require('mongodb');
// URL de conexión a MongoDB (por ejemplo, una instancia local)
const url = 'mongodb://localhost:27017';
// Nombre de la base de datos
const dbName = 'miBaseDeDatos';
// Crear una instancia de MongoClient
const client = new MongoClient(url);
async function conectarMongoDB() {
try {
// Conectar al servidor de MongoDB
await client.connect();
console.log('Conectado correctamente a MongoDB');
// Seleccionar la base de datos
const db = client.db(dbName);
// Operaciones en la base de datos
const coleccion = db.collection('miColeccion');
const documento = await coleccion.findOne({});
console.log('Documento encontrado:', documento);
} catch (error) {
console.error('Error al conectar con MongoDB:', error);
} finally {
// Cerrar la conexión
await client.close();
}
}
conectarMongoDB();
Guarda el archivo y ejecuta el código con el siguiente comando:
node app.js
Si todo está configurado correctamente, verás un mensaje que indica que la conexión se ha realizado correctamente.
Mongoose
Mongoose
es una librería ODM (Object Data Modeling) que simplifica la interacción con MongoDB, proporcionando esquemas para modelar los datos y validarlos.
Para instalar Mongoose
, ejecuta el siguiente comando:
npm install mongoose
Crea un archivo llamado app.js
y configura la conexión a MongoDB de la siguiente manera:
// Importar Mongoose
const mongoose = require('mongoose');
// URL de conexión a MongoDB
const url = 'mongodb://localhost:27017/miBaseDeDatos';
// Conectarse a MongoDB con Mongoose
mongoose.connect(url, { useNewUrlParser: true, useUnifiedTopology: true })
.then(() => {
console.log('Conectado a MongoDB con Mongoose');
})
.catch((error) => {
console.error('Error al conectar con MongoDB:', error);
});
Con Mongoose
, puedes definir un esquema y crear un modelo para interactuar con la base de datos. Un ejemplo sencillo es el siguiente:
// Definir un esquema para una colección "Usuarios"
const usuarioSchema = new mongoose.Schema({
nombre: String,
edad: Number,
email: String
});
// Crear un modelo basado en el esquema
const Usuario = mongoose.model('Usuario', usuarioSchema);
// Crear y guardar un nuevo documento en la colección "Usuarios"
const nuevoUsuario = new Usuario({
nombre: 'Juan',
edad: 30,
email: 'juan@example.com'
});
nuevoUsuario.save()
.then(() => {
console.log('Usuario guardado correctamente');
})
.catch((error) => {
console.error('Error al guardar el usuario:', error);
});
Guarda el archivo y ejecútalo:
node app.js
Esto conectará con MongoDB y creará un nuevo documento en la colección Usuarios
.
Para más detalles y opciones avanzadas, consulta la documentación oficial del driver de MongoDB para Node.js y la documentación de Mongoose.
Jorge García
Fullstack developer