UNIVERSIDAD DON BOSCO
FACULTAD DE ESTUDIOS TECNOLOGICOS
COORDINACION DE COMPUTACION
BASE DE DATOS
Ciclo I Guía de Laboratorio No. 10
Filtro MongoDB
2. RESULTADOS DE APRENDIZAJE
Que el estudiante:
• Aprenda a realizar búsqueda de datos en los documentos a través de filtros.
3. INTRODUCCIÓN
MySql MongoDB
Where $match
Group By $group
Having $match
Select $project
Order By $Sort
Limit $Limit
Sum() $sum
Count() $sum
= $eq
> $gt
>= $gte
< $lt
<= $lte
¡= $ne
Valores dentro de la matriz $in
Valores no están dentro de la matriz $nin
4. MATERIALES Y EQUIPO
No. Requerimientos Cantidad
1 Memoria USB 1
2 PC con MongoDB y RoboMongo 1
3 Guía de laboratorio 10 1
5. PROCEDIMIENTO
PARTE 1: Creación de BD
1. Primero, debemos crear BD “Tienda”. Crear colección Productos e ingresar los siguientes
documentos a partir de la siguiente tabla:
NOMBRE PRESENTACION PRECI PROVEEDO
CANTIDA UNIDA O R
D D
Aceite 900 Ml 4 Molino
Aceite 1 Lt 4.33 Molino
Arroz 1 Kg 1.69 San Francisco
Arvejas 1 Kg 1.88
Azúcar 1 Kg 1.72 Cañal
Frijol 1 Kg 2.83
Carne de Primera 1 Kg 5.63 Selectos
Carne de Segunda 1 Kg 3.50 Selectos
Harina de Trigo 1 Kg 2.86 Molino
Harina Precocida 1 Kg 1.63 Molino
Lácteos 500 Grs 2.70
Leche en Polvo 1 Kg 7.89
Lentejas 1 Kg 2.02
Margarina 500 Grs 1.66 Molino
Mortadela 1 Kg 5.10 Selectos
Pasta Corta 1 Kg 1.96
Pasta Larga 1 Kg 1.96
Pollo 1 Kg 5.03
2: Filtros de búsquedas
16. Ahora buscaremos a todos los productos que tengan las unidades en
gramos.
[Link]({“[Link]”:”Grs”})
17. Buscar todos los productos que posean información de proveedor.
[Link]({Proveedor:{$exists:true}})
18. Buscar todos los productos que no posean información de
proveedor.
[Link]({Proveedor:{$exists:false}})
19. Buscar productos con precios menores de 5.
[Link]({Precio:{$lt:5}})
20. Buscar productos con precios mayores o iguales a 5.
[Link]({Precio:{$gte:5}})
21. Buscar productos con precios menores o iguales a 7 y mayores o
iguales 3.
[Link]({Precio:{$lte:7,$gte:3}})
22. Mostrar todos los productos que tengan nombres entre el rango de
la C y la M
[Link]({Nombre:{$lte:”M”,gte:”C”}})
23. Mostrar solo los nombres de todos los nombres de los documentos
ingresados en la colección.
[Link]({},{“Nombre”:1,”id”:0})
24. Buscar productos cuyo nombre de proveedor sean de tipo String:
[Link]({“Proveedor”:{$type:2}})
NOTA: Tabla de valores.
25. Mostrar aquellos nombres que empiecen con M en adelante o que
tengan un precio mayor a 1.
[Link]({$or:[{“Precio”:{$lte:1}},{“Nombre”:{$gte:”
M”}}]})
26. Mostrar aquellos nombres donde muestre productos que sean con
M en adelante y que posean proveedor.
[Link]({$and:[{“Proveedor”:{$exists:true}},{“Nombre”:
{$gte:”M”}}]})
27. Mostrar nombres de productos que empiezan con C.
[Link]({Nombre:{$regex:”^C”}})
28. Mostrar nombres que terminen con letra A.
[Link]({Nombre:{$regex:”a$”}})
29. Mostrar la cantidad de producto por unidad, ingresados en la
colección.
[Link]([
{$group:{_id:”$[Link]”,total:{$sum:”Presentacion
.Cantidad”}}},
{$sort:{total:-1}}
])
30. Mostrar el promedio de precio por unidad, ingresados en la
colección.
[Link]([
{$group:{_id:”$[Link]”,total:{$avg:”$Precio”}}},
{$sort:{total:-1}}])
31. Mostrar el precio máximo por cada una de las unidades, ingresadas
en la colección.
[Link]([
{$group:{_id:”$[Link]”,Maximo:{$max:”$Precio”
}}},
{$sort:{Maximo:-1}}
])
32. Mostrar el producto que tenga el menor precio de todos los documentos
ingresados.
[Link]([{
$group:{_id:”$Nombre”,Minimo:{$min:”$Precio”}}},
{$sort:{Minimo:1}},{$limit:1}])
1. EJERCICIO COMPLEMENTARIO
• Crear base de datos Alumnos que contenga los siguientes datos:
2. Mostrar solo los nombres de los alumnos.
3. Mostrar la cantidad de alumnos inscritos por materia.
4. Mostrar la calificación más alta por alumno y nombre de la
materia donde la obtuvo.
5. Mostrar la calificación más bajo por alumno y nombre de la
materia donde la obtuvo.
6. Mostrar el nombre, materia y calificación más alta ingresada en
la colección.
7. Mostrar los alumnos cuyas notas estén en el rango de 8 y 10.
8. Presentar la lista de los alumnos inscritos en Química.
9. Presentar la lista de los alumnos cuyo nombre empiece con M.
10. Sacar el promedio de notas por alumnos.
11. BIBLIOGRAFIA
Usaola, M. P. (s.f.). MongoDB: gestión, administración y desarrollo de aplicaciones.
Universidad de Catilla.
HOJA DE EVALUACIÓN
Alumno: Carnet:
Docente: Fecha:
Título de la guía: Filtro MongoDB No.: Guía 10
Actividad a Criterio a evaluar Cumplió Puntaje
evaluar SI NO
ProcedimientoRealizo los ejercicios de ejemplos durante la
de guías práctica. (40%)
Presento todos los problemas resueltos. (20%)
Funcionan todos correctamente y sin errores.
(30%)
Envió los ejercicios en una carpeta
comprimida de acuerdo en el tiempo
estipulado por el docente. (10%)
PROMEDIO:
Ejercicio Realizó el análisis de resultados durante la
Complementar guía de práctica (40%)
io Presentó todos los problemas resueltos (20%)
Funcionan todos correctamente y sin errores
(30%)
Envió los ejercicios en una carpeta
comprimida de acuerdo en el tiempo
estipulado por el docente (10%)
PROMEDIO: