EJEMPLO DE UNA BASE DE DATOS NOSQL – MONGODB
Christian CastroPráctica o problema8 de Mayo de 2018
478 Palabras (2 Páginas)313 Visitas
UNIVERSIDAD SIMÓN BOLÍVAR
INGENIERÍA DE SISTEMAS
TEORÍA DE COMPILADORES
EJEMPLO DE UNA BASE DE DATOS NOSQL – MONGODB
EJERCICIO PRÁCTICO – MARZO DE 2018
PRELIMINARES:
- Para la realización de este ejercicio, debe tener ya instalado MongoDB.
- Inicie MongoDB, realice la conexión (En el tutorial en línea, https://docs.mongodb.com/manual/tutorial/install-mongodb-enterprise-on-windows/ en el numeral 4, Connet to MongoDB) y siga las instrucciones a continuación.
- Obtenga el dataset para el ejercicio, en la siguiente URL: https://raw.githubusercontent.com/mongodb/docs-assets/primer-dataset/primer-dataset.json
- Click derecho en esta página, elija la opción Guardar como. El sistema debe sugerir el nombre primer-dataset.json.txt. Guárdelo así en alguna carpeta en su disco.
- En el Explorador de archivos, busque el archivo que acaba de guardar, selecciónelo y vaya a la barra de menú en la opción abrir, y seleccione modificar (Ver imagen) donde le permitirá quitar el tipo de archivo .txt y quede como .json, que es el tipo de archivo de datos que maneja MongoDB.
[pic 1][pic 2]
- Realice la importación de estos datos a una base de datos documental en MongoDB: En una ventana de comandos nueva (cmd):
- Ejecute la línea: cd C:\Program Files\MongoDB\Server\3.6\bin para ubicarse en la carpeta que contiene MongoDB.
- Ejecute luego: mongoimport --db test --collection restaurants --drop –file ruta de su archivo json. Por ejemplo: mongoimport --db test --collection restaurants --drop --file users/dianah/downloads/primer-dataset.json
- Si el comando puede ejecutarse correctamente, debe enviar al final un mensaje similar a este (Obviamente, la fecha y hora será la de su ejecución):
2018-03-19T12:02:06.930-0400 connected to: localhost
2018-03-19T12:02:06.978-0400 dropping: test.restaurants
2018-03-19T12:02:08.774-0400 imported 25359 documents
- Se creó una nueva base de datos, llamada test y dentro de ella, una colección llamada restaurants.
- El ejercicio que deben realizar, se trabajará con el Shell de MongoDB: https://docs.mongodb.com/manual/mongo/
- También deben tener muy claro ya cómo se hacen “queries” y operaciones de “agregación” en MongoDB: https://docs.mongodb.com/getting-started/shell/query/
https://docs.mongodb.com/getting-started/shell/aggregation/
ENUNCIADO DEL EJERCICIO PRÁCTICO:
Con la colección de datos restaurants obtenida con los pasos anteriores, realizar las siguientes operaciones:
- Listar todos los restaurantes cuyo zipcode sea “10700”; mostrar únicamente el nombre del restaurante y el barrio (Borough) donde está ubicado.
db.restaurants.find( { "address.zipcode": "10022" },{ name: 1, borough: 1 })
[pic 3]
- Listar los restaurantes de comida “American”, que hayan obtenido al menos una categoría (grade) “A”. Mostrar el nombre del restaurante y los datos de categoría (Grades).
db.restaurants.find( {"grades.grade": "A" , cuisine: "American"}, { name: 1, borough: 1, grades:1 } )
[pic 4]
- Determinar cuántos restaurantes hay registrados en cada tipo de comida (cuisine); mostrar tipo de comida y cantidad.
db.restaurants.aggregate([{$group:{_id: "$cuisine", Cuantos :{ $sum:1}}}]);
[pic 5]
- Determinar cuántos restaurantes de Pizza hay en el barrio Queens.
db.restaurants.aggregate([{ $match: { borough:"Queens" , cuisine: "Pizza" } },{$group:{_id: "$borough", cuanto :{ $sum:1}}}]);[pic 6]
- Determinar cuántos restaurantes en Manhattan tienen al menos un grado “A”.
db.restaurants.aggregate([{ $match:{ "grades.grade": "A" , borough:"Manhattan" }},{$group:{_id: "$borough", cuanto :{ $sum:1}}}]);
...