Tipos de datos en MongoDB


Aprende cuales son los tipos de datos en MongoDB y como usarlos para almacenar información

Tipos de datos en MongoDB
oscar Escrito por oscar 15 June 2026 5 0

MongoDB es una base de datos NoSQL orientada a documentos que almacena la información en formato BSON (Binary JSON). BSON es una extensión de JSON que permite almacenar tipos de datos adicionales como fechas, identificadores únicos, datos binarios y números de distintos tamaños.

Cada documento dentro de una colección puede contener diferentes tipos de datos en sus campos, lo que proporciona una gran flexibilidad en comparación con las bases de datos relacionales tradicionales.

Antes de empezar

String (Cadena de texto)

Es uno de los tipos de datos más utilizados en MongoDB. Se emplea para almacenar texto como nombres, direcciones, correos electrónicos, descripciones y cualquier información alfanumérica.

Ejemplo

{
    "nombre": "Oscar Fernandez",
    "correo": "oscar@email.com",
    "ciudad": "Bogotá"
}

En este ejemplo, los campos nombre, correo y ciudad son cadenas de texto.

Integer (Número entero)

Permite almacenar números enteros sin decimales. MongoDB puede utilizar enteros de 32 bits o 64 bits según el valor almacenado.

Ejemplo

{
    "edad": 35,
    "cantidadParticipantes": 150
}

Los valores almacenados no contienen parte decimal.

Double (Número decimal)

Se utiliza para almacenar números con decimales.

Ejemplo

{
    "temperatura": 25.8,
    "peso": 72.5,
    "promedio": 4.75
}

Es común utilizar este tipo para cálculos matemáticos, medidas o puntuaciones.

Boolean (Verdadero o Falso)

Representa valores lógicos. Solo puede tener dos estados:

Ejemplo

{
    "activo": true,
    "eliminado": false,
    "publicado": true
}

Es muy útil para indicar estados dentro de una aplicación.

Date (Fecha y Hora)

MongoDB dispone de un tipo específico para almacenar fechas y horas.

Ejemplo

{
    "fechaRegistro": ISODate("2026-06-10T15:30:00Z")
}

Este tipo permite realizar consultas por rangos de fechas, ordenamientos y operaciones temporales.

Caso real

{
    "nombre": "Carrera 10K Bogotá",
    "fechaEvento": ISODate("2026-08-15T07:00:00Z")
}

Array (Arreglo)

Permite almacenar múltiples valores dentro de un mismo campo.

Ejemplo

{
    "telefonos": [
        "3001234567",
        "3109876543"
    ]
}

Los arrays pueden contener cualquier tipo de dato, incluso documentos completos.

Array de documentos

{
    "imagenes": [
        {
            "nombre": "foto1.jpg",
            "peso": 2048
        },
        {
            "nombre": "foto2.jpg",
            "peso": 4096
        }
    ]
}

Object o Embedded Document (Documento embebido)

MongoDB permite almacenar objetos dentro de otros objetos, creando estructuras jerárquicas.

Ejemplo

{
    "nombre": "Oscar Fernandez",
    "direccion": {
        "pais": "Colombia",
        "departamento": "Cundinamarca",
        "ciudad": "Bogotá",
        "codigoPostal": "110111"
    }
}

El campo direccion es un documento embebido que contiene varios atributos relacionados.

ObjectId

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

Ejemplo

{
    "_id": ObjectId("68485f56b3b95f9e6f2c8d15"),
    "nombre": "Oscar Fernandez"
}

El campo _id es la clave primaria del documento.

Un ObjectId contiene:

9. Null

Representa la ausencia de un valor.

Ejemplo

{
    "telefono": null
}

Se utiliza cuando un dato existe conceptualmente pero aún no tiene valor asignado.

Binary Data (Datos binarios)

Permite almacenar archivos binarios como imágenes, documentos PDF, videos o cualquier contenido no textual.

Ejemplo conceptual

{
    "archivo": BinData(...)
}

Sin embargo, para archivos grandes se recomienda utilizar GridFS.

Timestamp

Es un tipo especial utilizado principalmente por MongoDB para operaciones internas y replicación.

Ejemplo

{
    "ultimaActualizacion": Timestamp(1749571200, 1)
}

Decimal128

Se utiliza cuando se requiere alta precisión numérica, especialmente en aplicaciones financieras.

Ejemplo

{
    "precio": NumberDecimal("12345.67")
}

A diferencia de Double, Decimal128 evita errores de precisión en operaciones monetarias.

Ejemplo completo de un documento MongoDB

El siguiente ejemplo combina varios tipos de datos en un único documento.

{
    "_id": ObjectId("68485f56b3b95f9e6f2c8d15"),
    "nombre": "Carrera Atlética 10K",
    "descripcion": "Competencia realizada en Bogotá",
    "participantes": 250,
    "costoInscripcion": NumberDecimal("50000.00"),
    "activa": true,
    "fechaEvento": ISODate("2026-08-15T07:00:00Z"),
    "ubicacion": {
        "pais": "Colombia",
        "ciudad": "Bogotá"
    },
    "categorias": [
        "Elite",
        "Master",
        "Juvenil"
    ],
    "imagenes": [
        {
            "nombre": "salida.jpg",
            "pesoKb": 2048
        },
        {
            "nombre": "meta.jpg",
            "pesoKb": 3072
        }
    ],
    "observaciones": null
}

Resumen de los tipos más utilizados

Aunque MongoDB soporta muchos tipos de datos, en proyectos reales aproximadamente el 95% de los documentos utilizan principalmente:

Dominar estos tipos de datos es suficiente para diseñar la mayoría de modelos de datos en MongoDB, incluyendo sistemas de gestión documental, plataformas multimedia, aplicaciones empresariales, APIs REST y sistemas de análisis de datos.


Comentario

Debe aceptar antes de enviar