Ejercicio MongoDB
!
El docente le proveerá en la plataforma un archivo “geoExercise.js” el cual deberá ejecutar en
mongo para incorporar los documentos necesarios pararealizar los ejercicios solicitados.!
!
!
mongo < geoExercise.js
Luego ingresar al Shell de Mongo para desarrollar los ejercicios.!
Los documentos se encuentran en la base de datos “rutas” yen las colecciones “rutas” y “lugares”.!
Recuerde para realizar búsquedas en MongoDB se usa!
!
> db..find()
!
Operadores GeoEspaciales!
Cuando se desea extraer los documentos geo-referenciadoscercanos a un punto se utiliza el
operador $near. !
Para poder utilizar el operador $near, la colección de datos debe contener un atributo con la
siguiente estructura de subdocumento.!
!
:{“type”:”Point”, “coordinates”:[,]}
!
y establecer en la colección un indice por ese atributo con el siguiente comando:!
!
db..ensureIndex({:”2dsphere”})
!
La sintaxis de $near es:!
!
> q = {:{“$near”:{“$geometry” : {“type”:”Point”,
“coordinates”:[,]},
“$maxDistance”: }
}
}
!
!
Ejemplo: Obtenga los documentos que estén cerca de un kilometro de las coordenadas !
lat:14.089538 ,long:-87.223089!
!
> q = {“ubicacion”:{“$near” : {“$geometry” : {“type”:”Point”,
“coordinates”:[-87.223089,
14.089538]},
“$maxDistance”: 1000 }
}
}
> db.lugares.find(q)
!
Ejercicios
Creeun archivo txt en el cual deberá incluir la definición del documento(q) que utiliza para
obtener el resultado en el shell de mongo y la respuesta a lo solicitado.!
1) Asegure el crear el indiceen la colección de lugares.!
2) Cuantos documentos existen que están a 20km cerca de lat:14.089538 ,
long:-87.223089.!
2) Cual es el lugar más cercano de la ruta de playas a 80 km del puntolat:13.316485,
long:-87.184637 (hint: “rutas.rutaId”:valor)!
3) Que es lo mas que hay más cerca de lat:13.998723, long:-87.071340!
4) Usando Google Maps obtenga las coordenadas de el parque nacional...
Regístrate para leer el documento completo.