4. Consultar documentos
Ahora que tienes datos importados de Airbnb, aprenderás a leerlos y explorarlos.
El comando find
Para obtener todos los documentos de una colección:
db.listings.find()
Esto devuelve los primeros 20 documentos. Para ver más, escribe it (iterate).
Buscar documentos específicos
Puedes usar un filtro para buscar documentos que cumplan ciertas condiciones:
// Listados del barrio CIUTAT VELLA
db.listings.find({ neighbourhood_group_cleansed: "CIUTAT VELLA" })
// Listados de tipo "Entire home/apt"
db.listings.find({ room_type: "Entire home/apt" })
El filtro es un objeto con pares campo-valor. MongoDB devuelve solo los documentos donde esos campos tienen esos valores exactos.
El comando findOne
Para obtener solo un documento (útil para ver la estructura):
// Obtiene el primer listado
db.listings.findOne()
// Obtiene un listado específico
db.listings.findOne({ room_type: "Private room" })
findOne devuelve un solo documento en lugar de un cursor.
Proyecciones
Puedes seleccionar qué campos devolver usando proyecciones:
// Solo devuelve name y price (y _id por defecto)
db.listings.find(
{ neighbourhood_group_cleansed: "EXTRAMURS" },
{ name: 1, price: 1 }
)
// Excluye el campo _id
db.listings.find(
{ neighbourhood_group_cleansed: "EXTRAMURS" },
{ name: 1, price: 1, _id: 0 }
)
En las proyecciones: - 1 significa "incluir este campo" - 0 significa "excluir este campo"
No puedes mezclar inclusiones y exclusiones (excepto con _id).
Contar documentos
Ya conoces countDocuments de la lección anterior. Ahora puedes usarlo con filtros:
// Contar listados de un barrio específico
db.listings.countDocuments({ neighbourhood_group_cleansed: "BENIMACLET" })
// Contar superhosts
db.listings.countDocuments({ host_is_superhost: "t" })
Actividad 1
Practica consultas básicas con los listados de Airbnb:
- Busca todos los listados del barrio CIUTAT VELLA
- Busca listados de tipo "Entire home/apt" (
room_type) - Busca un solo listado que sea "Private room"
- Muestra solo los campos
name,priceyhost_namede listados en POBLATS MARITIMS - Cuenta cuántos listados hay en el barrio BENIMACLET
Pro:
- Busca listados donde el anfitrión sea superhost (
host_is_superhostes"t") - Busca un listado que sea del barrio RASCANYA y muestra solo su nombre y tipo de habitación
- Cuenta cuántos listados hay de tipo "Private room" en el barrio EXTRAMURS (combina filtros en un solo objeto)
This work is under a Attribution-NonCommercial-NoDerivatives 4.0 International license.
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
Support me on Ko-fi
Comments
There are no comments yet.