Compass es un entorno gráfico oficial para MongoDB. Permite:
- Conectarse a una base de datos local o remota
- Ver bases de datos y colecciones
- Visualizar documentos
- Crear, editar y borrar documentos
- Crear índices
- Lanzar agregaciones con interfaz visual
- Ver estadísticas de la colección (distribuciones, tamaños, etc.)
En esencia, Compass cumple el mismo papel que “phpMyAdmin” en MySQL, pero para MongoDB.
Instalación de MongoDB Compass (Linux/Windows/macOS)
Para clase normalmente recomiendo:
- Que los alumnos lo instalen en su portátil si lo tienen
- Si no, instalarlo en el servidor Linux con GUI (si existe) o usar su PC personal
Descarga oficial
Ir a:
Seleccionar:
- Versión estable
- Sistema operativo correspondiente
Instalar siguiendo el asistente.
Configuración inicial en clase
Antes de abrir Compass, asegúrate de que el servidor MongoDB ya está corriendo en Linux:
sudo systemctl status mongod
Y que el puerto por defecto (27017) está accesible en la red del aula.
Si usan Compass desde sus ordenadores:
- Conexión dentro de la misma LAN del aula → bien
- Si hay cortafuegos, abrir el puerto 27017
- Si es SSH, configurar túnel (lo explico más abajo opcionalmente)
Conexión desde Compass (práctica guiada sencilla)
Abrir Compass → aparecerá pantalla con Connection String.
Por defecto la cadena es:
mongodb://localhost:27017
Casos:
Caso A: Compass instalado en el servidor
Usar:
mongodb://localhost:27017
Clic Connect.
Caso B: Compass desde portátil del alumno
Si conocen la IP del servidor:
mongodb://IP_DEL_SERVIDOR:27017
Ejemplo:
mongodb://192.168.0.50:27017
Para realizar conexiones remotas debemos cambiar la configuración del archivo mongod.conf
sudo nano /etc/mongod.conf
y cambiar el 127.0.0.1 por 0.0.0.

Clic Connect.
Si la conexión funciona, aparecen las bases de datos.
Exploración visual de datos (lo que deben observar)
Una vez dentro:
- Sección izquierda: lista de bases de datos
- Seleccionar
andoria_sector(o la que crearon antes) - Seleccionar colección
planetas
Ahora verán documentos tipo:
{
"_id": ObjectId("..."),
"nombre": "Andoria",
"especie_principal": "Andoriano",
...
}
Aquí ya puedes hacer mini demostración:
- Ordenar por campo
- Editar un documento (botón
Edit Document) - Añadir nuevos campos manualmente
- Borrar un documento desde la interfaz
Esto consolida el concepto “un documento no necesita la misma estructura en todos los registros”.
Agregaciones visuales (el jugo interesante)
Compass tiene una sección llamada Aggregations:
- Clic en Aggregations
- Crear un pipeline con
$match - Ejemplo:
{ "$match": { "alineacion": "Federación" } }
Esto muestra solo planetas federados.
Si quieres mostrarles algo más vistoso:
$groupporalineacion$sortdescendente por conteo
El pipeline sería:
[
{ "$group": { "_id": "$alineacion", "total": { "$sum": 1 } } },
{ "$sort": { "total": -1 } }
]
Esto es excelente para enseñar que MongoDB es más “analítico” que un simple CRUD.
Índices
Compass → pestaña Indexes
Allí puedes:
- Ver índices existentes
- Crear uno nuevo desde GUI
Por ejemplo, crear índice en nombre:
- Clic Create Index
- Campo:
nombre - Orden:
Ascending - Crear
Esto deja caer la idea de rendimiento sin entrar en ingeniería pesada.
Estadísticas de colección
Compass tiene una pestaña Schema que permite:
- Inferir estructura de documentos
- Detectar tipos
- Ver distribuciones
Ejemplo: podrían ver que clima es “Frío”, “Ártico”, etc.
Visualmente ayuda a entender diversidad de documentos.
Práctica Guiada: “Exploración Visual de Datos con MongoDB Compass”
La USS Horizon ha completado su instalación del núcleo MongoDB en la sala de máquinas. Ahora la Sección de Ciencia quiere que los oficiales accedan a los registros desde una interfaz visual que permita agrupar, filtrar y entender datos sin necesidad de abrir un terminal. Te han asignado la operación.
FASE 1 — Preparar la Conexión desde Compass
Tu estación de trabajo local será el cliente de monitorización. Antes de iniciar la misión:
- Asegúrate de que MongoDB está activo en el servidor de la nave:
sudo systemctl status mongod
- Si estás en el mismo equipo donde instalaste MongoDB, podrás conectarte con
localhost. - Si estás desde otro equipo del aula, necesitas la IP del servidor de la nave (por ejemplo
192.168.0.50).
Abre MongoDB Compass y en el campo de conexión escribe:
Para conexión local:
mongodb://localhost:27017
Para conexión remota en la red de aula:
mongodb://IP_DEL_SERVIDOR:27017
Pulsa Connect. Si todo va bien, deberías ver una lista de bases de datos en la barra lateral izquierda. Bienvenido al puente de mando.
FASE 2 — Exploración de la Biblioteca de Datos
Al conectarte, Compass mostrará un conjunto de bases predeterminadas del sistema.
Tu tarea inicial consiste en crear una estructura nueva que represente planetas registrados por la Federación.
- Dirígete al botón de Create database
- Nombre de la base de datos:
fed_records - Nombre de la colección inicial:
planets - Clic en Create
Acabas de crear un archivo científico dentro de la Biblioteca Estelar.
FASE 3 — Inserción de Datos Científicos
Ahora toca poblar la colección con datos reales que los sensores ya capturaron.
Compass permite insertar datos con un editor visual.
Abre la colección planets y pulsa Insert Document.
Aparece un editor con un documento JSON. Rellénalo con:
{
"name": "Vulcan",
"species": "Vulcans",
"affiliation": "Federation",
"warp_capable": true
}
Pulsa Insert para guardar.
Agrega un segundo documento pero esta vez usando Insert Document y cambia el contenido:
{
"name": "Qo'noS",
"species": "Klingons",
"affiliation": "Klingon Empire",
"warp_capable": true
}
Inserta un tercero:
{
"name": "Ferenginar",
"species": "Ferengi",
"affiliation": "Ferengi Alliance",
"warp_capable": true
}
Fíjate en un detalle interesante: no hay esquema rígido. MongoDB no te obliga a declarar columnas antes. Es como una biblioteca que acepta libros sin exigir número exacto de capítulos.
FASE 4 — Visualización y Edición de Documentos
Observa cómo Compass representa cada documento con su _id. Esa key es asignada automáticamente y sirve como identificador universal.
Ahora haz dos pruebas:
- Edita un documento desde el icono Edit Document
Cambiawarp_capabledetrueafalseen algún planeta no confirmado. Guarda y comprueba que Compass valida el JSON. - Elimina un planeta usando el botón Delete para simular que los registros debieron ser clasificadas tras un fallo diplomático.
Nadie en la Flota se escapa del poder del botón Delete.
FASE 5 — Consultas Visuales con Filtros
La Sección de Ciencia quiere consultar todos los planetas bajo Federation.
Compass lo hace sin comandos: usa el buscador superior.
Pulsa el filtro visual y escribe:
{ "affiliation": "Federation" }
Pulsa Apply.
Si el universo está en orden, solo aparecerán planetas pertenecientes a la Federación.
FASE 6 — Agregaciones en la Sala de Análisis
Compass dispone de un módulo llamado Aggregations que permite crear pipelines de análisis (equivalente a map–reduce ligero).
Entra en Aggregations y añade una etapa $group:
{
"$group": {
"_id": "$affiliation",
"total": { "$sum": 1 }
}
}
Pulsa Run.
Compass mostrará un resultado parecido a una estadística diplomática:
Federation: 1
Klingon Empire: 1
Ferengi Alliance: 1
Este tipo de vista enseña que MongoDB no solo guarda datos, también los procesa de forma analítica.
FASE 7 — Inferir Esquemas
Entra en la pestaña Schema dentro de la colección.
Compass examinará los documentos e inferirá:
- Tipos de campos
- Frecuencia de aparición
- Valores más comunes
Esto simula cómo la Sección de Xenobiología analiza patrones entre especies sin necesidad de preguntar “¿cuál es la estructura del registro?”.
FASE 8 — Crear Índices
Ahora ve a la pestaña Indexes para crear un índice sobre el campo name.
Pulsa Create Index y configura:
- Field:
name - Sort: Ascending
Clic en Create.
MongoDB construirá el índice internamente. Tu planeta ahora se encuentra más rápido cuando alguien lo necesita. Rendimiento y diplomacia se dan la mano.
FASE 9 — Desconexión y Cierre de Misión
Cierra Compass.
Detén el servicio MongoDB solo si el servidor necesita entrar en modo sigilo:
sudo systemctl stop mongod
La misión Compass se considera cumplida si has conseguido:
- Conectarse a una instancia MongoDB
- Crear bases de datos y colecciones desde GUI
- Insertar y editar documentos
- Filtrar visualmente



