Universidad de Chile
Iniciativa de Datos e Inteligencia Artificial
MDS7103 - Bases de Datos
Laboratorio 7 - Datos Semiestructurados: Sudowoodos
Profesor: Sebastián Ferrada
Instale y conéctese a un servidor local de Mongo DB a través de la plantilla de Colab del
laboratorio. Los datos están cargados en base de datos pokemon, en la colección pokedex. Para
realizar consultas, utilizaremos la librerı́a pymongo . Puede revisar los datos de Pikachu ejecutando
el código de la celda correspondiente. Fı́jese que el objeto Moves contiene los ataques de cada
pokémon, en donde el nombre del ataque es una llave del documento Moves. En cada pregunta,
solo proyecte los atributos solicitados. Cuando se le pidan “los documentos” debe entregar todas
las llaves disponibles.
P1. Los documentos que tengan Hostile Pokémon en Category.
P2. Los documentos de los pokémon con Type 1 Grass y Type 2 Poison.
P3. Los Name de los pokemon que tienen doble tipo, es decir, aquellos cuyo atributo Type 2 es
distinto del string None (ojo que es distinto a null).
P4. Los Name, Type 1 y Type 2 de los pokémon “Cañones de Cristal”, es decir, aquellos que
tienen Attack mayor a 120 y Defense menor a 50.
P5. Los Name, Type 1 y Type 2 de los pokémon “Tanque”, es decir, aquellos que tienen HP,
Defense, o Sp. Defense mayor o igual a 120.
P6. Los Name, HP y Attack de los pokémon que tengan en Abilities alguno de los siguientes:
Emergency Exit, Frisk, Bulletproof, o Iron Fist.
P7. Los Name, HP y Attack de los pokémon que tengan en Abilities todos los siguientes: Keen
Eye y Sheer Force.
P8. Los Name, HP y Attack de los pokémon que tengan en Abilities exactamente Insomnia,
Inner Focus y Forewarn (en cualquier orden, sin otras habilidades).
P9. Todos los atributos excepto Moves de aquellos pokémon que tengan Earthquake como llave
dentro de Moves.
P10. Los Name, HP y Attack de los pokémon que no tengan Play Rough en Moves y que tengan
Shadow Ball con Level mayor o igual a 20 en Moves.