2. Instalación y MongoDB Compass

Vamos a configurar MongoDB y su herramienta gráfica MongoDB Compass.

Instalación de MongoDB Compass

MongoDB Compass es una interfaz gráfica oficial para trabajar con MongoDB. Es perfecta para principiantes y muy útil para visualizar tus datos.

  1. Ve a mongodb.com/try/download/compass
  2. Selecciona tu sistema operativo
  3. Descarga e instala

Para que Compass funcione, necesitas tener un servidor MongoDB en ejecución.

  1. Descarga MongoDB Community Server desde mongodb.com/try/download/community
  2. Sigue las instrucciones de instalación para tu sistema operativo
  3. El servidor se iniciará automáticamente (o ejecuta mongod)

Primeros pasos con Compass

Una vez instalado Compass:

  1. Abre MongoDB Compass
  2. Conéctate a tu servidor (localhost o Atlas)
  3. Verás una interfaz con tus bases de datos
  4. Puedes abrir el shell integrado desde el botón inferior

Ejecuta tu primer comando en el shell:

db.version()

Deberías ver la versión de MongoDB que estás usando.

Datos de práctica: Airbnb Valencia

Para este curso vamos a trabajar con datos reales de Airbnb en Valencia. Estos datos provienen de Inside Airbnb, un proyecto independiente que recopila y analiza datos públicos de Airbnb.

Archivos disponibles:

  • listings.csv (información de propiedades, anfitriones, precios, disponibilidad, etc.)
  • reviews.csv (reseñas con fechas)

Relación entre los archivos: El campo id en listings.csv se relaciona con listing_id en reviews.csv. Esto significa que un listado puede tener múltiples reseñas (relación 1:N).

Si quieres practicar con datos de otras ciudades (Barcelona, Madrid, París, Nueva York, etc.), puedes descargarlos desde insideairbnb.com/get-the-data. Busca la ciudad que te interese y descarga los archivos listings.csv y reviews.csv.

Cómo importar los archivos CSV

Hay dos formas de importar estos archivos en MongoDB:

Opción 1: Usando MongoDB Compass (recomendado para principiantes)

  1. Descarga los archivos CSV desde los enlaces anteriores
  2. Abre MongoDB Compass y conéctate a tu servidor
  3. Crea una nueva base de datos llamada airbnb
  4. Dentro de la base de datos, crea dos colecciones: listings y reviews
  5. Para cada colección:
  6. Haz clic en la pestaña "Add Data" y luego "Import JSON or CSV file"
  7. Selecciona el archivo CSV correspondiente
  8. Compass detectará automáticamente los campos y tipos de datos
  9. Haz clic en "Import" y espera a que se complete

Opción 2: Usando mongoimport desde la terminal

Si prefieres la línea de comandos, puedes usar mongoimport:

# Importar listings
mongoimport --db airbnb --collection listings --type csv --headerline --file listings.csv

# Importar reviews
mongoimport --db airbnb --collection reviews --type csv --headerline --file reviews.csv

Una vez importados, puedes verificar que funcionó:

use airbnb
db.listings.countDocuments()
db.reviews.countDocuments()

Importante sobre tipos de datos: Cuando importas CSV con mongoimport, algunos campos se importan como strings aunque parezcan números o booleanos: - price: string (formato "$XX.XX") - host_is_superhost: string ("t" o "f"), no booleano - accommodates, number_of_reviews, review_scores_rating: números

MongoDB Compass puede convertir automáticamente algunos valores al importar, pero mongoimport mantiene los tipos tal como están en el CSV. Esto afecta cómo escribes las consultas.

Estos datos nos permitirán practicar consultas realistas: buscar propiedades por precio, ubicación, número de reseñas, calcular estadísticas por barrio, y mucho más.

This work is under a Attribution-NonCommercial-NoDerivatives 4.0 International license.

Desafíos de programación atemporales y multiparadigmáticos

Desafíos de programación atemporales y multiparadigmáticos

Te encuentras ante un librillo de actividades, divididas en 2 niveles de dificultad. Te enfrentarás a los casos más comunes que te puedes encontrar en pruebas técnicas o aprender conceptos elementales de programación.

Buy the book

Will you buy me a coffee?

Comments

There are no comments yet.

Visitors in real time

You are alone: 🐱