Creación de la base de datos NoSQL - Entrega 6

Para crear la base de datos se empleó el aplicativo MongoDB Atlas. Teniendo en cuenta que el objetivo de la base es conocer el comportamiento de los clientes de Bodytech entre las diferentes sedes que hacen parte de la cadena, se crearon cuatro colecciones.
- Clientes. Colección con la información básica de los clientes que atienden el gimnasio e información de los pagos realizados por cada uno.
- Categoría. Categoría de los gimnasios de Bodytech.
- Profesional. Profesionales especializados encargados de dar atenciones personales a los clientes.
- Sedes. Sedes en las cuales se registran asistencias por parte de los clientes.
Creación de documentos
El siguiente paso de la actividad fue crear los documentos de cada una de las colecciones que conforman la base de datos Bodytech. Con base en estos documentos se evalúa la capacidad de almacenamiento de información en una base de datos NoSQL y posteriormente, se prueban las capacidades de Mongo DB para realizar consultas.
Clientes
Se crearon siete (7) documentos en la colección de clientes. Cada documento cuenta con información distinta de los clientes que asisten a las sedes, como nombre, apellido, peso, tipo de atención, correo electrónico, asistencia y pagos. A continuación se lista el código empleado para crear los documentos y la visualización de la colección resultante.
{
"_id": {
"$oid": "69bb39c0c6704642c8bf668e"
},
"nombre": "Juan",
"apellido": "Pérez",
"correo": "juan.perez@email.com",
"edad": 32,
"peso": 80,
"asistencias": 12,
"pago": 1980000}
{
"_id": {
"$oid": "69bb3a69c6704642c8bf668f"
},
"nombre": "María",
"apellido": "Gómez",
"edad": 28,
"peso": 56,
"estatura": 165,
"pago": 1470000
}
{
"_id": {
"$oid": "69bb3aa2c6704642c8bf6690"
},
"nombre": "Diomedes",
"apellido": "Díaz",
"peso": 80,
"asistencias": 12,
"tipo_atencion": "Virtual",
"numero_horas": 20,
"valor_hora": 90000
}
{
"_id": {
"$oid": "69bb3c9fc6704642c8bf6695"
},
"nombre": "Faustino",
"apellido": "Asprilla",
"peso": 95,
"tipo_atencion": "Virtual",
"numero_horas": 10,
"valor_hora": 80000
}{
"_id": {
"$oid": "69bb3d14c6704642c8bf6697"
},
"nombre": "Luis",
"apellido": "Díaz",
"edad": 31,
"estatura": 177,
"pago": 1980000,
"tipo_pago": "Tarjeta crédito"
}
{
"_id": {
"$oid": "69bb3d8ac6704642c8bf6698"
},
"nombre": "James",
"apellido": "Rodríguez",
"edad": 35,
"estatura": 182,
"pago": 1470000,
"tipo_pago": "Tarjeta crédito"
}
{
"_id": {
"$oid": "69bb3df9c6704642c8bf6699"
},
"nombre": "Rafael",
"apellido": "Borré",
"edad": 29,
"pago": 1470000,
"asistencias": 5
}

Categoría
Para la colección de categoría se crearon cinco documentos, cada uno regista el nombre e id de las categorías existentes en la cadena de gimnasios Bodytech. A continuación, se listan los códigos y resultado de la creación de los documentos.
{
"_id": {
"$oid": "69bb3e8dc6704642c8bf669b"
},
"nombre": "Platino"
}
{
"_id": {
"$oid": "69bb3ea7c6704642c8bf669c"
},
"nombre": "One"
}
{
"_id": {
"$oid": "69bb3eb1c6704642c8bf669d"
},
"nombre": "Premium"
}
{
"_id": {
"$oid": "69bb3ebbc6704642c8bf669e"
},
"nombre": "Classic"
}
{
"_id": {
"$oid": "69bb3ec9c6704642c8bf669f"
},
"nombre": "Super"
}

Sedes
Para la actividad, se crearon cuatro (4) documentos con la información de cuatro sedes existentes de Bodytech, cada una de una categoría diferente. A continuación se listan los códigos empleados para crear los documentos y la colección final obtenida.
{
"_id": {
"$oid": "69bb4286c6704642c8bf66c6"
},
"nombre": "Galerías",
"Ciudad": "Bogotá D.C.",
"Direccion": "cra. 24 #53 - 73"
}
{
"_id": {
"$oid": "69bb42edc6704642c8bf66cd"
},
"nombre": "Caney"
}
{
"_id": {
"$oid": "69bb4314c6704642c8bf66d1"
},
"nombre": "Miramar",
"Ciudad": "Barranquilla",
}
{
"_id": {
"$oid": "69bb436ec6704642c8bf66d3"
},
"nombre": "Connecta",
"Direccion": "Avenida calle 26 No. 92 – 32",
}

Profesional
Por último, se crearon los documentos asociados a la colección de profesionales especializados que realizan atenciones personales a los clientes. Para este ejercicio, se contó con la información asociada a tres profesionales, cada uno con distintos datos. Para algunos profesionales, se cuenta con la información del cliente que atendieron, por lo que este campo fue diligenciado con los id definidos para los clientes en la colección "Clientes". A continuación se muestran los códigos empleados para crear los documentos, así como la colección resultante.
{
"_id": {
"$oid": "69bb4016c6704642c8bf66b5"
},
"nombre": "Dario",
"apellido": "Gómez",
"especialidad": "zumba",
"cliente": {
"$oid": "69bb3c9fc6704642c8bf6695"
},
"fecha_atencion": {
"$date": "2026-03-06T00:00:00.000Z"
}
}
{
"_id": {
"$oid": "69bb4165c6704642c8bf66bd"
},
"nombre": "Leonel",
"apellido": "Álvarez",
"especialidad": "kickboxing",
"cliente": {
"$oid": "69bb3aa2c6704642c8bf6690"
},
"correo": "leo.al@gmail.com",
"telefono": {
"$numberLong": "3145783470"
}
}
{
"nombre": "José",
"apellido": "Pekerman",
"especialidad": "fisioterapeuta",
"edad": 70,
"telefono": {
"$numberLong": "3128753976"
}
}

Relaciones
Para poder realizar consultas entre las diferentes colecciones se realizarán agregaciones, sin embargo, para poder realizarlas es necesario que existan diferentes relaciones para poder utilizar la función lookup debe existir relaciones en las tablas. Por lo anterior, en los documentos de clientes y sedes se incluyó el atributo de categoría, que permite enlazar las tres colecciones entre ellas. A continuación, se muestra la información registrada en ambas colecciones.


