y el futuro(por ahora). Es importante conocer y “exprimir” las funcionalidades que estos dispositivos nos proveen. En este caso hablaremos de geolocalización. Ya que MongoDB nos proporciona una funcionalidad para manejar la longitud y latitud de una manera fácil.
Longitud: Este(+) y Oeste(-) Estas son representadas en grados. pero se convierten a decimales para mejor manejo. Ejemplo: (18°14’70″ N) = (18 + (14 / 60) + (70 / 3600)) = 18.252 Precisión (decimales): 6-5: Lugares (EAFIT - 6.199462, -75.578271). 4-3: Ciudades (Medellín - 6.199,-75.578). 2-1: País (Colombia - 6.1,-75.5).
geometría sobre la tierra. Los datos de la localización se almacenan en objetos GeoJSON WGS84. MongoDB soporta Point - LineString - Polygon. Soporta todas las consultas que MongoDB geospatial. Esfera(2dsphere) versión 2: MultiPoint - MultiLineString - MultiPolygon y GeometryCollection. Plano (2d): Legado par coordenadas [Longitud, latitud]. Este formato almacena los datos como puntos en un plano de dos dimensiones. Utilícelo si su base de datos tiene datos legados de una versión anterior a la 2.2 ó no tiene intención de almacenar los datos de localización como objetos GeoJSON. Operadores de consulta: Inclusión ($geoWithin): Permite consultar los lugares que se encuentran dentro de un polígono. Intersección ($geoIntersects): Permite consultar los lugares que se encuentran entre dos polígonos. (solo 2dsphere). Proximidad ($near): Permite consultar los puntos cerca de otros puntos. Este requiere que sea un índice 2d ó 2dsphere.
ser utilizado como índice de un sharding. * Se puede crear y mantener un índice (2d - 2dsphere) en una colección “sharded” utilizando otros campos como claves del shard. * las consultas con $near no son soportadas en colecciones “sharded”. Se recomienda utilizar $geonear ó geoWithin en su lugar.
de consulta geoespaciales. $maxDistance: Especifica la distancia máxima para los resultados de una consulta. $center: Especifica un círculo usando par de coordenadas legadas cuando se utiliza geometría plana. $centersphere: Especifica un círculo usando par de coordenadas legadas cuando se utiliza geometría esférica. $box: Especifica un rectángulo usando par de coordenada legadas para las consultas. $polygon: Especifica un polígono usando par de coordenada legadas para las consultas. Tabla de compatibilidad: http://docs.mongodb.org/manual/reference/operator/query- geospatial/#geospatial-query-compatibility-chart
de la geolocalización. * MongoDB te optimiza el tiempo de desarrollo cuando necesitas utilizar georeferencia. * Falta mucho por descubrir en funcionalidades de MongoDB, esto apenas comienza =)