Fundamentos de MongoDB

1

Uso de MongoDB: Consultas y Almacenamiento en NoSQL

2

Bases de Datos NoSQL: MongoDB y Tipos de Escalamiento

3

Documentos y colecciones en bases de datos documentales

4

Creación y gestión de bases de datos NoSQL con MongoDB y Atlas

5

Uso de Mongo Compass para Conectar y Consultar Bases de Datos

6

Consultas de MongoDB en Visual Studio Code con MongoDB for VS Code

7

Instalación de Docker en Windows, macOS y Ubuntu

8

Correr MongoDB en Docker: Configuración y Ejecución Local

9

Conexión a MongoDB usando Mongo SH y Docker

10

Diferencias entre JSON y BSON en MongoDB

CRUD

11

Operaciones CRUD e inserción de documentos en MongoDB

12

Operaciones CRUD en MongoDB: Insertar Documentos en Mongo Atlas

13

Actualización de Documentos en MongoDB con Operadores Básicos

14

Actualización en Masa de Documentos en MongoDB con UpdateMany

15

Actualización y manejo de arrays en MongoDB

16

Gestión de datos de sensores IoT en MongoDB: Insert y Update eficientes

17

Eliminar documentos en MongoDB: métodos y prácticas

Operadores

18

Consultas con Operadores de Comparación en MongoDB

19

Operadores de Comparación en MongoDB: Mayor, Menor e Igualdad

20

Operadores avanzados en MongoDB: consultas y actualizaciones eficientes

21

Búsquedas Avanzadas con Expresiones Regulares en MongoDB

22

Selección de Campos en Consultas MongoDB con Projections

23

Consultas Avanzadas en Arrays con MongoDB

24

Operadores Lógicos en MongoDB: Uso de AND, OR y NOR

25

Consultas avanzadas con el operador expresivo en MongoDB

26

Consultas Avanzadas en Arrays y Subdocumentos en MongoDB

Herramientas comunes al trabajar con MongoDB

27

Análisis de Datos con MongoDB Aggregation Framework

28

Ordenar y Limitar Consultas en MongoDB para Paginación

29

Características y usos avanzados de Mongo Atlas

30

MongoDB: Dominio de CRUD y Consultas Avanzadas

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Documentos y colecciones en bases de datos documentales

3/30
Recursos

¿Qué son los documentos en bases de datos documentales?

Los documentos son una parte esencial de las bases de datos documentales como MongoDB. Estos documentos almacenan información específica de un dominio, como podría ser el caso de los productos de una tienda en línea o el inventario de una tienda física. Un documento agrupa un conjunto de datos relacionados en pares de clave-valor, aportando flexibilidad y eficiencia al almacenamiento de datos.

¿Cómo se estructura un documento en MongoDB?

El formato de un documento en MongoDB emplea pares clave-valor, similar a un objeto en JavaScript. Al abrir un documento con llaves, se definen campos (claves) y se les asigna un valor correspondiente. Por ejemplo, en un documento que describe a un usuario, podrías encontrar:

{
  "nombre": "Sue",
  "edad": 26,
  "estatus": "A",
  "grupos": ["grupo1", "grupo2"]
}

Además, es posible tener subdocumentos o documentos anidados, lo que permite el almacenamiento de estructuras complejas dentro de un único documento. Consideremos el caso de una ubicación que puede contener otro documento con atributos como ciudad y código postal:

{
  "ubicación": {
    "ciudad": "Madrid",
    "código postal": "28001"
  }
}

¿Por qué utilizar documentos en vez de tablas?

A diferencia de las bases de datos relacionales que requieren tablas con columnas y filas, los documentos permiten una gestión más flexible y eficiente de la información. Imaginemos una aplicación de gestión de contactos. Si cada contacto es un documento, puedes incluir campos únicos, como un twitter manejador, sin necesidad de alterar la estructura de otros documentos ni llenar espacios vacíos. Cada documento alberga solo los campos que se necesitan, adaptándose fácilmente a cambios en los requerimientos de datos:

  • Flexibilidad en el esquema: No es obligatorio mantener un formato rígido. Los documentos pueden variar en los campos que contienen.
  • Facilidades en la escalabilidad: Al no depender de un esquema predefinido, las bases de datos documentales pueden escalar horizontalmente con menos restricciones.

¿Qué son las colecciones en bases de datos documentales?

Las colecciones son grupos de documentos que comparten cierta relación o modelo de datos. En MongoDB y otras bases de datos documentales como Firestore y Couchbase, las colecciones son el equivalente a las tablas en un sistema relacional, pero sin restricciones rígidas de esquemas.

¿Cómo se estructuran las colecciones?

Las colecciones organizan documentos que guardan datos relacionados. Por ejemplo, en un sistema de comercio electrónico, podrías tener colecciones separadas para "productos" y "usuarios". Cada colección almacena múltiples documentos que representan instancias individuales de esos productos o usuarios:

- Colección de Productos
  - Documento 1: Producto A
  - Documento 2: Producto B

- Colección de Usuarios
  - Documento 1: Usuario Juan
  - Documento 2: Usuario María

La principal ventaja de las colecciones reside en la capacidad de agrupar documentos relacionados, facilitando tanto el acceso como la gestión de grandes volúmenes de datos.

Ejemplos prácticos y aplicaciones

Entender cómo los documentos y colecciones funcionan es clave para aprovechar las bases de datos documentales al máximo. Un ejemplo práctico sería el diseño de un backend para aplicaciones móviles, donde la variabilidad en los datos del usuario es común. Con un modelo documental, agregar nuevos campos a algunos usuarios (como un nuevo campo de red social) es sencillo y no altera la estructura de los datos existentes.

A medida que avances en tu dominio de MongoDB, verás cómo la flexibilidad y eficiencia de los documentos y colecciones pueden optimizar el manejo de datos en tus proyectos. Con cada interacción, te aproximas más a convertirte en un experto, capaz de manejar bases de datos documentales de manera más efectiva. ¡Continúa aprendiendo y explotando todo el potencial de esta novedosa aproximación a la gestión de datos!

Aportes 17

Preguntas 4

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Comparto esta imagen que ejemplifica de manera visual los conceptos de colección y documentos:

Los documentos es la forma en que Mongo va a almacenar la información que este dentro de un dominio (entidad) o que queramos tener allí.

Ejemplos de dominio:

  • Los productos de un ecommerce.
  • Las clases de un curso.
  • El inventario de una tienda.

Los Documentos son una forma de organizar y almacenar información con un conjunto de pares clave-valor. Ejemplos:

Las Colecciones es la forma en que guardamos esos documentos y que normalmente comparten datos entre si, o al menos sabemos que tenemos una entidad o un modelo de datos que se relacionan. MongoDB almacena documentos en una colección, usualmente con campos comunes entre si.

Ejemplo: Podemos tener una colección llamada Usuarios que contengan todos los documentos de los usuarios de nuestra aplicación.

Documentos

Una forma de organizar y almacenar información con un conjunto de pares clave-valor.

{
    field: "value"
    field2: "value2"
}

ejemplo:

{
    name: "sue",
    age: 26, 
    status: "A",
    groups: ["news", "sports"]
}

también podemos tener subdocumentos o documentos anidados

{
    "_id": "5sdfsdf4sdf435er345",
    "city": "ALPINE",
    "zip": "35014",
    "loc": {
        "y": 33.331165,
        "x": 86.208943
    },
    "pop": 3062
    "state": "AL"
}

Colecciones

MongoDB almacena documentos en una colección, usualmente con campos comunes entre sí.

{
    name: "Juan",
    age: 18,
    status: "A"
},
{
    name: "Oscar",
    age: 28,
    status: "D"
},
{
    name: "Maria",
    age: 20,
    status: "B"
}

una de las principales ventajas que tiene Mongo como base de datos no relacional sobre las bases de datos relacionales, es que podemos añadir una propiedad o atributo a cualquier documento dentro de una colección sin tener que modificar los demás documentos, permitiendo gran flexibilidad en comparación de las bases de datos relacionales, en las que si queremos hacer la misma operación, debemos modificar la estructura de la tabla y añadir una nueva columna


{
    name: "Juan",
    age: 18,
    status: "A"
},
{
    name: "Oscar",
    age: 28,
    status: "D"
},
{
    name: "Maria",
    lastName: "Camila", // nuevo 
    age: 20,
    status: "B",
}

Relacional - no relacional

Tablas - Colecciones
Registros - Documentos

A la izquierda db relacionales y a la derecha dbnosql

Tablas === Modelo(Colección)
Columnas / Filas === Documento(json)

Cada documento de una colección MongoDB debe tener un identificador único. Este identificador se utiliza para referenciar el documento en consultas y otras operaciones. El identificador por defecto es el campo _id, que es un ObjectId generado automáticamente. Sin embargo, también puede utilizar un identificador personalizado.

si conoces SQL se puede traducir fácilmente a mongo ya que

tablas = colecciones
columnas-rows = documentes

con la obvia diferente de lenguaje y manera en la cual se almacenan

Los documentos son la manera en la que Mongo va a almacenar la información dentro de un dominio. Es una forma de organizar y almacenar la información con un conjunto de pares clave-valor.

Despues de estar mas familiarizadon con las bases de datos relacionales se hara un poco complejo lr interiorizando esto de documentos y colecciones para trabajar con ellos

Documentos (documents): el término documento se refiere a la forma en que los datos son encapsulados y codificados.

Colecciones: en MongoDB es muy similar a una Tabla de una base de datos. La tabla almacena registros (filas) mientras que las colecciones almacenan documentos

Un documento en MongoDB se asemeja a un diccionario en Python, ya que ambos utilizan una estructura de clave-valor. En un documento, las claves representan los campos y los valores son la información correspondiente, igual que en un diccionario donde las claves mapean a sus respectivos valores. Esta flexibilidad permite que los documentos contengan diferentes campos sin necesidad de un esquema fijo, a diferencia de las bases de datos relacionales que requieren tablas con estructuras definidas.
Interesante, me gusto, con razón se usa tanto mongo, son JSON´s
# Documentos Es la forma en la que MongoDB guarda la información que este dentro de tu aplicación. Es una forma de organizar la información con un conjunto de pares **clave-valor**. Ejemplo: { name: "sue", age: 26, status: "A", } name --> Campo "sue" --> Valor ## SubDocumentos Dentro de un documentos se pueden tener documentos { 'prueba': true, 'name': 'sue', 'location': { 'x': 143.432134, 'y': 182.3497934, } } No todos los documentos deben tenar las mismas claves. ## Colecciones Es la forma en la que se guardan los datos y comparten datos entre si.
Una forma sencilla de asociar las BD no relacionales si se viene de relacionales es: **Tabla => Colección** **Registro => Documento** Así se me hizo fácil entender la primera vez que conocí mongoDB
un documento no es lo mismo que un JSON ?

Una colección es la manera en la que almacenamos documentos. Una colección usualmente con campos comunes entre sí.

Resumen :
los documentos es una forma de almacenamiento clave valor(se parece a un diccionario en python)
las colecciones :con un conjunto de documentos