MongoDB


MongoDB es una base de datos NoSQL, en este post damos la introducción y mencionamos los conceptos básicos

MongoDB
oscar Escrito por oscar 10 June 2026 8 0

Introducción a MongoDB

MongoDB es una base de datos NoSQL orientada a documentos que almacena la información en formato BSON (Binary JSON), una representación binaria de JSON optimizada para almacenamiento y rendimiento.

A diferencia de bases de datos relacionales como PostgreSQL, MySQL o SQL Server, MongoDB no utiliza tablas, filas y columnas como estructura principal. En su lugar utiliza colecciones y documentos.

Antes de comenzar a trabajar con MongoDB es importante comprender una serie de conceptos fundamentales que forman la base de toda la plataforma.

Encuentra la documentacion oficial de mongo en https://www.mongodb.com/es/docs/

¿Qué es una base de datos NoSQL?

NoSQL significa "Not Only SQL" (No solo SQL). Son sistemas de almacenamiento diseñados para manejar grandes volúmenes de información, alta escalabilidad y estructuras de datos flexibles.

Las principales características de una base de datos NoSQL son:

Tipos de bases de datos NoSQL

¿Qué es MongoDB?

MongoDB es una base de datos documental desarrollada para almacenar información en documentos JSON/BSON. https://www.mongodb.com/es/docs/manual/

Cada documento puede tener una estructura diferente, permitiendo gran flexibilidad para modelar datos complejos.

Ejemplo de documento:

{
  "_id": ObjectId("507f1f77bcf86cd799439011"),
  "nombre": "Oscar Fernandez",
  "email": "codigoelectronica@gmail.com",
  "edad": 30,
  "activo": true
}

Arquitectura General de MongoDB

La jerarquía básica de MongoDB es:

https://www.mongodb.com/es/docs/manual/#core-architecture

Servidor MongoDB
 └── Base de Datos
      └── Colección
           └── Documento
                └── Campos

Servidor MongoDB

Es la instancia que ejecuta el motor de MongoDB.

Equivale al servidor donde se almacenan una o varias bases de datos.

Base de Datos (Database)

Una base de datos es un contenedor lógico que agrupa colecciones relacionadas.

https://www.mongodb.com/es/docs/manual/core/databases-and-collections/

Ejemplo:

En PostgreSQL sería equivalente a una base de datos tradicional.

Colección (Collection)

Una colección es un conjunto de documentos.

Es el equivalente más cercano a una tabla en bases de datos relacionales.

https://www.mongodb.com/es/docs/manual/core/databases-and-collections/#collections

Ejemplos:

Documento (Document)

Es la unidad principal de almacenamiento en MongoDB.

Un documento contiene datos organizados en pares clave-valor.

https://www.mongodb.com/es/docs/manual/core/document/

Ejemplo:

{
  "_id": "100",
  "nombre": "Laptop Dell",
  "precio": 3500,
  "stock": 20
}

Cada documento puede tener una estructura distinta.

Campo (Field)

Un campo es una propiedad dentro de un documento.

Ejemplo:

{
  "nombre": "Oscar",
  "edad": 35
}

En este caso "nombre" y "edad" son campos.

BSON

BSON significa Binary JSON. https://www.mongodb.com/es/docs/php-library/current/reference/bson/

Es el formato interno utilizado por MongoDB para almacenar los documentos.

Permite soportar tipos de datos avanzados que JSON no posee.

Algunos tipos BSON:

ObjectId

Es el identificador único generado automáticamente por MongoDB para cada documento.

Ejemplo:


{
  "_id": ObjectId("6846a9f45fbcf0a6d8c5d4b1")
}

Un ObjectId contiene:

Esquema Flexible (Schema-less)

MongoDB permite que documentos dentro de una misma colección tengan estructuras diferentes.

Ejemplo:

{
  "nombre": "Oscar"
}
{
  "nombre": "Ana",
  "telefono": "3001234567"
}

Ambos documentos pueden coexistir en la misma colección.

Documentos Embebidos (Embedded Documents)

Un documento puede contener otros documentos.

Ejemplo:

{
  "nombre": "Oscar",
  "direccion": {
    "pais": "Colombia",
    "ciudad": "Bogotá",
    "barrio": "Chapinero"
  }
}

Este concepto es fundamental porque reemplaza muchas relaciones de las bases de datos relacionales.

Arrays

MongoDB permite almacenar listas dentro de un documento.

Ejemplo:


{
  "nombre": "Oscar",
  "telefonos": [
    "3001111111",
    "3002222222"
  ]
}

Normalización vs Desnormalización

Normalización

Consiste en dividir la información en múltiples entidades relacionadas.

Es el enfoque tradicional de bases de datos relacionales.

Desnormalización

Consiste en almacenar información relacionada dentro del mismo documento.

MongoDB favorece este enfoque para reducir consultas y mejorar rendimiento.

Referencias entre Documentos

Cuando los datos son muy grandes o reutilizables se pueden relacionar mediante identificadores.

Ejemplo:

{
  "_id": "post1",
  "titulo": "Introducción a MongoDB",
  "autorId": "user100"
}

CRUD

CRUD es el conjunto de operaciones básicas de cualquier base de datos. https://www.mongodb.com/es/docs/manual/crud/

Consultas (Queries)

Las consultas permiten buscar información dentro de las colecciones.

https://www.mongodb.com/es/docs/search/

Ejemplo:

db.usuarios.find({
  edad: 35
})

Operadores de Filtro

MongoDB incorpora operadores para realizar búsquedas avanzadas.

$eq Igual
$ne Diferente
$gt Mayor que
$gte Mayor o igual
$lt Menor que
$lte Menor o igual
$in Dentro de una lista

Índices (Indexes)

Los índices aceleran las búsquedas.

Sin índices MongoDB debe recorrer todos los documentos de una colección.

Con índices puede encontrar los registros mucho más rápido. https://www.mongodb.com/es/docs/manual/indexes/

Ejemplo:


db.usuarios.createIndex({
  email: 1
})

Framework de Agregación

Es uno de los componentes más potentes de MongoDB.

Permite transformar, agrupar y analizar datos.

Es equivalente a funciones como:

Ejemplo:

db.ventas.aggregate([
  {
    $group: {
      _id: "$categoria",
      total: {
        $sum: "$valor"
      }
    }
  }
])

Replica Set

Es un conjunto de servidores MongoDB que mantienen copias sincronizadas de los datos.

Proporciona:

Sharding

Es una técnica de escalamiento horizontal.

Los datos se distribuyen entre múltiples servidores llamados shards.

Permite manejar millones o miles de millones de documentos.

Transacciones

MongoDB soporta transacciones ACID para operaciones que afectan múltiples documentos o colecciones.

Son similares a las transacciones de PostgreSQL o MySQL.

Consistencia Eventual

En entornos distribuidos algunas operaciones pueden tardar un tiempo mínimo en propagarse entre nodos.

MongoDB ofrece diferentes niveles de consistencia dependiendo de la configuración del clúster.

Mongo Shell (mongosh)

Es la consola oficial para interactuar con MongoDB mediante comandos.

Permite:

MongoDB Atlas

MongoDB Atlas es el servicio cloud oficial de MongoDB.

Permite desplegar bases de datos sin administrar servidores.

Incluye:

Conceptos Más Importantes que Debes Dominar

Antes de comenzar a desarrollar aplicaciones con MongoDB debes comprender perfectamente los siguientes conceptos:

  1. Base de datos (Database).
  2. Colección (Collection).
  3. Documento (Document).
  4. Campo (Field).
  5. BSON.
  6. ObjectId.
  7. Arrays.
  8. Documentos embebidos.
  9. Referencias.
  10. CRUD.
  11. Consultas.
  12. Operadores de búsqueda.
  13. Índices.
  14. Agregaciones.
  15. Modelado de datos.
  16. Replica Sets.
  17. Sharding.
  18. Transacciones.
  19. MongoDB Atlas.

Ruta de Aprendizaje Recomendada

Para aprender MongoDB desde cero te recomiendo seguir este orden:

  1. Conceptos básicos de NoSQL.
  2. Documentos y colecciones.
  3. Tipos de datos BSON.
  4. CRUD completo.
  5. Filtros y operadores.
  6. Índices.
  7. Modelado de datos.
  8. Relaciones y referencias.
  9. Aggregation Framework.
  10. Transacciones.
  11. Replica Sets.
  12. Sharding.
  13. MongoDB Atlas.
  14. Integración con Node.js.
  15. Integración con Firebase y Next.js.

Si vienes de PostgreSQL, MySQL o SQL Server, el cambio de mentalidad más importante es dejar de pensar en tablas y relaciones complejas, y comenzar a pensar en documentos que contienen toda la información necesaria para una consulta. El modelado de datos en MongoDB es probablemente el concepto más importante de toda la plataforma.


Comentario

Debe aceptar antes de enviar