Documentos y colecciones en bases de datos documentales
Resumen
¿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:
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:
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!
Comparto esta imagen que ejemplifica de manera visual los conceptos de colección y documentos:
Thank you!
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:
!Untitled
!Untitled
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.
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
¿Se podría decir que un documento en mongodb es parecido a un diccionario em Python?
En cierto sentido, se podría decir que un documento en MongoDB es similar a un diccionario en Python. Ambos son estructuras de datos que permiten almacenar información en un formato clave-valor, donde cada elemento consiste en una clave y un valor asociado.
En MongoDB, un documento es la unidad básica de datos y es una colección de pares clave-valor. Estos documentos son similares a los diccionarios en Python en términos de su capacidad para almacenar información de diferentes tipos, como números, cadenas, listas, etc.
Recuerda que hay algunas diferencias importantes entre los documentos en MongoDB y los diccionarios en Python. Por ejemplo, los documentos en MongoDB pueden ser guardados en una base de datos y se pueden indexar y consultar de manera eficiente, mientras que los diccionarios en Python son más bien una estructura de datos en memoria. Además, MongoDB ofrece una serie de características adicionales, como la capacidad de hacer consultas complejas y agregar automáticamente los índices, que no están disponibles en los diccionarios de Python.
Gracias Francisco!!!. super clarisimo...
A la izquierda db relacionales y a la derecha dbnosql
Soy solo yo? pero de momento lo que veo es un Json.
MongoDB almacena los datos en el formato BSON, que está basado en JSON, aunque a diferencia de JSON tiene soporte para otros tipos de datos, como fechas, y se almacena de manera binaria. Puedes leer más en esta página: https://www.mongodb.com/json-and-bson
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.
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.
Justo tenia eso en mente. Pero entonces si usamos diccionarios podria ser mas rapido que utilizar pandas?
Profesor, buenas tardes, tengo un a consulta. Para consultar un documento almacenado en una bd mongo db, lo realizo por metadatos, o como lo extrae. Saludos
Mi resumen en una sola lámina:
ose siempre mongo, almacena los objectos tipo json.. es nuevo jeje he estado acostumbrado en guardar en tablas del sql
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
Mi pequeño aporte:
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ónRegistro => Documento
Así se me hizo fácil entender la primera vez que conocí mongoDB