MongoDB

logo_programacion

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

  1. Descarga el instalador desde MongoDB Download Center.
  2. 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.

Recursos Adicionales