cp20 Taller MongoDB
cp20 Taller MongoDB
cp20 Taller MongoDB
● use <db>
● show collections
Consola
Además tenemos un intérprete de Javascript para ampliar
la capacidad de trabajo:
>s=0;for(i=0;i<5;i++) s+=i;
>s
6
Diagrama
Desnormalización
● Qué debemos desnormalizar?
● db.collection.insert()
● db.collection.update()
Operaciones sobre Collections
Operaciones sobre Collections
Realizar las siguientes operaciones:
○ var m = function(){
if(this["telefonos"].length>5)
{emit(this["luniv"],this["nombre"])
}}
○ var r = function(key, values){ return values[0]}
○ db.alumnos.mapReduce(m, r, {out: "map_res"})
Consulta 2
● La cantidad de Profesores que hay por cargo
Consulta 2
● La cantidad de Profesores que hay por cargo
○ Map: emitimos <cargo, 1>
○ Reduce: sumamos todos los elementos de la lista
Consulta 2
● La cantidad de Profesores que hay por cargo
○ var m = function(){emit(this["cargo"],1)}
○ var r = function(key, values){ return Array.sum(values)}
○ db.profesores.mapReduce(m, r, {out: "map_res"})
Consulta 3
● Cantidad de alumnos totales en cursos
obligatorios.
Consulta 3
● Cantidad de alumnos totales en cursos
obligatorios.
○ Map: si es curso obligatorio emitimos
<tipo de curso, #alumnos>
○ Reduce: sumamos cantidad de alumnos.
Consulta 3
● Cantidad de alumnos totales en cursos
obligatorios.
○ var m = function(){
if(this["tipo"] =="obligatorio"){
emit(this["tipo"],this["alumnos"].length)}
}
○ var r = function(key, values){
return Array.sum(values) }
Consulta de tarea
● Devolver los Alumnos más viejos por cada
curso.