MongoDB
Introducción
MongoDB es una base de datos NoSQL orientada a documentos, diseñada para almacenar y gestionar grandes volúmenes de datos en una estructura flexible y escalable. Utiliza un formato de documento similar a JSON (BSON) para almacenar datos, lo que facilita la representación de estructuras de datos complejas.
Características Principales
- Modelo de Documento: Los datos se almacenan en documentos BSON, que permiten una mayor flexibilidad en comparación con las tablas de las bases de datos relacionales.
- Escalabilidad Horizontal: MongoDB permite la distribución de datos a través de múltiples servidores (sharding), lo que facilita el manejo de grandes volúmenes de información.
- Consulta Potente: Ofrece un lenguaje de consulta rico y flexible, permitiendo búsquedas complejas y agregaciones.
- Índices: Soporta la creación de índices para mejorar la eficiencia de las consultas.
- Alta Disponibilidad: A través de la replicación, MongoDB garantiza la disponibilidad de los datos y la tolerancia a fallos.
Instalación
Requisitos Previos
- Un sistema operativo compatible (Windows, macOS, Linux).
- Node.js y npm (opcional para algunas herramientas).
Instalación en Ubuntu
sudo apt update
sudo apt install -y mongodb
Instalación en Windows
- Descarga el instalador desde MongoDB Download Center.
- Ejecuta el instalador y sigue las instrucciones.
Estructura de Datos
Documentos
Un documento en MongoDB es un conjunto de pares clave-valor. Por ejemplo:
{
"nombre": "Juan",
"edad": 30,
"email": "juan@example.com"
}
Colecciones
Los documentos se agrupan en colecciones, que son análogas a las tablas en las bases de datos relacionales.
Operaciones Básicas
Conexión a la Base de Datos
Para conectarse a MongoDB, se utiliza el cliente mongo desde la terminal:
mongo
Crear una Base de Datos
use miBaseDeDatos
Crear una Colección
db.createCollection("miColeccion")
Insertar Documentos
db.miColeccion.insertOne({
"nombre": "Juan",
"edad": 30
})
Consultar Documentos
db.miColeccion.find()
Actualizar Documentos
db.miColeccion.updateOne(
{ "nombre": "Juan" },
{ $set: { "edad": 31 } }
)
Eliminar Documentos
db.miColeccion.deleteOne({ "nombre": "Juan" })
Conclusión
MongoDB es una poderosa herramienta para el manejo de grandes volúmenes de datos no estructurados. Su flexibilidad y escalabilidad lo convierten en una opción popular entre desarrolladores y arquitectos de software.