‫Instructor: En esta
‫lección, aprenderemos sobre consultas geoespaciales para implementar una
‫característica realmente interesante, que es proporcionar
‫una función de búsqueda para recorridos dentro de una
‫cierta distancia de un punto específico.
‫Entonces, digamos que
‫vive en un cierto punto y desea saber qué
‫recorridos comienzan a cierta distancia de usted, como 250
‫millas, porque no desea conducir más allá
‫para comenzar su experiencia de recorrido.
‫Entonces esa sería una característica asombrosa,
‫y un caso de uso realmente bueno de consultas geoespaciales.
‫Y para implementar algo como esto, aquí
‫en nuestro enrutador turístico, podríamos crear una ruta
‫agradable, algo como esto.
‫Así que lo voy a poner aquí antes de estas rutas generales
‫aquí.
‫Entonces, digamos ruta de puntos del enrutador, y voy
‫a llamar a este recorridos internos, ¿de acuerdo?
‫Entonces también necesitamos especificar la distancia.
‫Por tanto, aquí creamos un parámetro de distancia.
‫A continuación, también necesitamos especificar el
‫centro, y ese es básicamente el punto donde vives.
‫Así que especifiquémoslo alrededor del centro y luego barra,
‫y luego lat y longitud.
‫Básicamente, en esta variable aquí,
‫desea pasar las coordenadas del lugar donde
‫se encuentra.
‫Supongamos que vive en Los Ángeles
‫y desea encontrar todos los recorridos a una
‫distancia de 300 millas.
‫Entonces aquí diría 300,
‫y luego aquí pondría las
‫coordenadas de básicamente donde vive, ¿de acuerdo?
‫Luego, proporcionemos también la opción de especificar la
‫unidad.
‫Entonces, si esta distancia aquí está en kilómetros o en millas.
‫Digamos, unidad de barra
‫oblicua y la unidad como parámetro.
‫Ahora bien, esta forma de especificar una URL es algo
‫que nunca hicimos antes.
‫Básicamente, decir aquí centro y barra y poner
‫la longitud y la latitud después de
‫eso, y luego la
‫unidad de barra, y luego el parámetro de consultas.
‫Y, por supuesto,
‫también podríamos hacer que el usuario especifique
‫todas estas opciones usando una cadena de consulta, pero
‫de esta manera se ve mucho más limpia y también es una forma estándar
‫de especificar URL que contienen muchos objetos.
‫Entonces, lo que estaba diciendo es que, en cambio,
‫podríamos hacerlo, por supuesto, así.
‫Recorre la distancia y luego el usuario tendría que proporcionar la
‫distancia como esta aquí.
‫Y el centro así, digamos menos 40
‫y 45, y luego la unidad también se establece en millas.
‫Bien, esta ha sido una forma de usar cadenas de
‫consulta y lo hemos hecho antes.
‫Y en realidad no así, sino así.
‫Está bien, pero en cambio lo vamos
‫a especificar de nuevo así.
‫Lo que en mi opinión se ve mucho mejor.
‫Entonces menos 40, 45.
‫Bien, entonces piense que esto de
‫aquí realmente se ve mucho más limpio que esto.
‫Bien, y esta es otra cosa que
‫quería mostrarles es que
‫es una especie de estándar para especificar URL como esta, ¿de acuerdo?
‫De todos modos,
‫para esta ruta, por supuesto, necesitamos un controlador
‫de ruta, y eso estará en
‫el controlador de recorrido, y llamemos a esta función de controlador para obtener recorridos dentro.
‫Y ahora sigamos e implementemos este método
‫en este controlador.
‫Entonces controlador de gira y aquí abajo.
‫Y comencemos obteniendo todos los parámetros.
‫Déjame copiar todo esto aquí.
‫Y solo para que sepamos cómo se ven nuestros datos.
‫¿Está bien?
‫Entonces esto, y luego esto tiene un comentario.
‫Muy bien, usemos una reestructuración simple para obtener todos
‫nuestros datos a la vez de los parámetros.
‫Y en realidad
‫necesitamos decir constante, distancia y unidad.
‫Entonces, todo eso proviene de request dot params.
‫Bien, así sucesivamente req. parámetros, tenemos distancia de
‫punto, centro de punto y unidad de punto, ¿verdad?
‫Porque estos son los nombres
‫de los tres parámetros que especificamos aquí.
‫Y en realidad
‫no es el centro, está latlng aquí, está bien,
‫así que ese es el correcto, y finalmente la unidad.
‫Entonces, nuevamente, usamos la reestructuración para obtener todas estas
‫variables a la vez.
‫A continuación, obtengamos aquí todas las
‫coordenadas de esta variable de latitud y longitud.
‫Entonces, como vemos, esperamos los datos en un formato como este, y
‫eso hace que sea realmente fácil copiar estos
‫datos de Google Maps.
‫Así que déjame mostrarte eso rápidamente.
‫Es importante que comprenda cómo este tipo de
‫cosas también funcionan en la práctica.
‫Usemos el ejemplo de Los Ángeles aquí.
‫Bien, digamos que vives en algún lugar aquí.
‫De acuerdo, y puedes obtener fácilmente la latitud y
‫la longitud así, ¿de acuerdo?
‫Así que pon eso aquí, solo como un ejemplo de nuevo.
‫Y este es el formato.
‫Parece latitud y longitud.
‫Y ahora creemos una variable para cada uno de ellos.
‫Entonces uno para latitud y otro para longitud.
‫Entonces el punto de latitud se divide porque es una
‫cadena y queremos dividirlo por comas.
‫Y entonces eso creará una matriz de
‫dos elementos, y ahora podemos usar nuevamente la destrucción para
‫guardarlos en las dos variables que nos interesan.
‫Entonces latitud y longitud.
‫Bien, a continuación, quiero probar si realmente tenemos las
‫variables de longitud y latitud para encontrar.
‫Porque si no, significa que el usuario no los
‫especificó en el formato requerido.
‫Entonces, digamos que si
‫no hay latitud o longitud, queremos crear un nuevo error.
‫Entonces, como siempre, error de nueva aplicación, y no estoy seguro de si
‫lo tenemos todavía, aquí mismo, y en realidad
‫no lo tenemos.
‫Así que comentamos esta parte porque ya no necesitábamos el error de
‫la aplicación después de crear nuestras funciones de fábrica de
‫controladores, pero ahora, en realidad, lo necesitamos nuevamente, así que vamos
‫a traerlo de vuelta.
‫Y el mensaje aquí
‫será, por favor, proporcione, en el formato, como este.
‫Y el código de error 400 para esa solicitud.
‫Genial, y ahora solo para ver si todo
‫esto funciona
‫correctamente, salgamos de esto en la consola.
‫La distancia esa longitud y unidad.
‫Y también enviemos un mensaje genérico aquí, solo
‫para terminar realmente el ciclo de solicitud para responder.
‫Y para eso, por supuesto, es el mismo de siempre.
‫Entonces, el estado es exitoso por ahora y, por supuesto,
‫más adelante enviaremos los datos que devuelve la consulta.
‫Copiemos esto aquí.
‫Porque este tipo de ya es lo que queremos.
‫De vuelta en Postman, cerremos todo esto.
‫Este ya no lo necesitamos.
‫De acuerdo, tampoco es necesario que iniciemos
‫sesión y tampoco queremos actualizaciones.
‫De todos modos, también necesitamos obtener esta parte que
‫soy demasiado vago para escribir.
‫Así que probemos eso ahora.
‫Y eso no funcionó,
‫y creo que a este lo llamamos giras en realidad.
‫¿Hicimos?
‫Entonces recorridos por dentro.
‫Así que no estoy seguro de por
‫qué escribí distancia aquí, solucionemos esto rápidamente aquí en nuestros ejemplos.
‫Y así, por supuesto, son recorridos por dentro.
‫Y eso todavía no funciona, así que echemos un vistazo y
‫enrutemos la implementación aquí.
‫Así que aquí tenemos eso, y
‫sí, por supuesto, esto no es correcto en absoluto.
‫Así que este de aquí no debería estar dentro de la ruta de puntos, obviamente.
‫Pero, en cambio, debería estar en el método get.
‫Y ahora eso se parece mucho más a lo
‫que tenemos aquí.
‫Así que puntee la ruta y luego puntee get.
‫Así que un intento menos y esta vez funcionó.
‫Y echemos un vistazo a
‫la consola, y de hecho, aquí obtenemos
‫la distancia que se especifica la latitud a la longitud y la unidad.
‫Genial, así que ahora es el momento
‫de escribir la consulta en sí.
‫Ahora, una consulta geoespacial funciona de
‫manera bastante similar a una consulta normal.
‫Así que todavía vamos a escribir giras que equivalen a giras. encontrar, y por
‫supuesto, esperando el resultado de esta promesa.
‫Y luego el viejo juego de marcar todo
‫como asíncrono y luego capturar el asíncrono y envolver nuestra función
‫allí.
‫Tenemos todos los recorridos aquí
‫sin usar, así que sigamos adelante y editemos el objeto
‫de respuesta de inmediato.
‫Entonces, datos, y ahora recuerda cómo lo llamamos datos.
‫Y luego recorridos.
‫Está bien, y todo lo que tenemos que hacer
‫es especificar o filtrar el objeto aquí.
‫Así que recuerde que básicamente
‫queremos consultar la ubicación de inicio,
‫porque el campo de ubicación de inicio
‫es lo que contiene el punto geoespacial donde comienza cada recorrido.
‫Y eso es exactamente lo que estamos buscando.
‫Entonces, comience la ubicación, y ahora debemos especificar
‫el valor que estamos buscando.
‫Y para eso, ahora usaremos un operador
‫geoespacial llamado geo inside.
‫Como siempre, necesitamos especificar
‫el tema, y luego aquí, donde
‫antes usaríamos como un operador matemático como
‫mayor que, esta vez usamos un operador geoespacial como este.
‫Geo dentro, y este operador hace exactamente lo que dice.
‫Básicamente, encuentra documentos dentro de una determinada geometría.
‫Y esa geometría es lo que necesitamos definir como próximo paso.
‫Así que queremos
‫encontrar documentos, pero ¿dónde queremos encontrar estos documentos?
‫Bueno, queremos encontrarlos dentro de una esfera que
‫comienza en este punto que definimos,
‫y que tiene un radio de la distancia que definimos.
‫Entonces, nuevamente con nuestro ejemplo en Los Ángeles,
‫si especifica la distancia
‫de 250 millas, entonces eso significa que desea encontrar todos
‫los documentos del viaje dentro de una esfera que tiene un radio de 250 millas.
‫Vale, ¿tiene sentido?
‫Y ahora tenemos que pasar
‫la información aquí al operador geo dentro, ¿de acuerdo?
‫Y lo hacemos definiendo una esfera central.
‫De acuerdo, y de nuevo, sé que esto
‫parece bastante confuso, pero es por eso que lo estoy explicando aquí paso a paso.
‫Y también en un segundo, vamos
‫a echar un vistazo a la documentación.
‫Entonces, el operador de la esfera
‫central toma una matriz de las coordenadas y del radio.
‫Y realmente formateemos el código aquí para
‫que al menos parezca un poco más fácil, ¿de acuerdo?
‫Bueno, parece lo mismo, pero de todos modos,
‫así es como encuentras las coordenadas aquí.
‫Y para eso, necesitamos otra
‫matriz, y luego la longitud y la latitud.
‫Y eso es correcto.
‫Primero debe definir siempre la longitud
‫y luego la latitud, lo cual es un poco
‫contradictorio porque, por lo general, los pares de coordenadas siempre
‫se especifican con la latitud primero y la longitud primero.
‫Creo que lo mencioné antes que
‫en geo adyacente, por alguna razón funciona así.
‫Entonces ese es el centro de la esfera.
‫Ahora necesitamos especificar su radio.
‫Ahora bien, aquí en realidad no pasamos en la distancia,
‫sino que espera un radio en una unidad
‫especial llamada radianes.
‫Permítanme poner la variable de radio
‫aquí, y luego, en un segundo, la vamos a definir.
‫Así que ahora definamos realmente el radio.
‫Entonces, nuevamente, el radio es básicamente la
‫distancia que queremos tener como
‫radio, pero convertida a una unidad especial llamada radianes.
‫Y para obtener los radianes,
‫necesitamos dividir nuestra distancia por el radio
‫de la Tierra.
‫Eso suena un poco loco, pero realmente así es como funciona.
‫Bien, ahora debemos tener en cuenta nuestras
‫unidades aquí, porque, por supuesto, el radio de la
‫Tierra es diferente en millas y luego en kilómetros.
‫Así que hagamos ahora un giro
‫mayor aquí y digamos que si la unidad es igual a millas,
‫entonces el resultado aquí debería ser la distancia.
‫Entonces, básicamente, nuestro radio original dividido por 3963. 2.
‫Bien, de nuevo, ese es el radio de la Tierra en millas.
‫De acuerdo, y de lo contrario, asumiremos
‫que es un kilómetro.
‫Entonces, si son kilómetros, entonces es la distancia
‫dividida por 6.378. 1 kilometro.
‫Muy bien, de nuevo, este tipo de conversión loca aquí es necesaria
‫porque normalmente se esperaría
‫que el radio de nuestra esfera estuviera en radianes.
‫Y los radianes se obtienen al dividir
‫la distancia por el radio de la Tierra.
‫Genial, estamos casi listos para probar esto ahora.
‫Agreguemos la propiedad de resultados que solíamos tener.
‫Entonces, con la cantidad de resultados
‫básicamente, y luego
‫otra cosa muy importante es que, en
‫realidad, para poder hacer solo consultas básicas, primero debemos
‫atribuir un índice al campo donde
‫se encuentran los datos geoespaciales que estamos buscando. almacenado.
‫Entonces, en este caso, necesitamos agregar un índice para comenzar la ubicación.
‫Así que hagámoslo aquí en modelo de gira.
‫Entonces, aquí abajo, necesitamos otro índice.
‫Esquema de recorrido. índice.
‫Ubicación de inicio, pero ahora no vamos a establecerlo en uno o
‫menos uno, porque esta vez es
‫un índice diferente lo
‫que necesitamos.
‫Entonces, para los datos geoespaciales, este índice debe ser
‫un índice de esfera 2D si los datos describen puntos reales en
‫la Tierra como una esfera.
‫O en su lugar, también podemos usar un índice
‫2D si estamos usando solo puntos ficticios en un plano bidimensional simple.
‫Ahora, en este caso, por supuesto, estamos hablando de
‫puntos reales en la superficie de
‫la Tierra, por lo que vamos a usar un índice de esfera 2D aquí.
‫Entonces, una esfera 2D como esta.
‫De acuerdo, básicamente estamos diciendo que
‫esta ubicación de inicio aquí debería indexarse a una esfera 2D.
‫Entonces, una esfera similar a la Tierra donde se encuentran todos nuestros datos.
‫Genial, y con eso, ahora
‫deberíamos estar realmente listos para probar nuestra nueva ruta.
‫Bien, incrementemos este radio aquí
‫un poco en 400 millas, y veamos qué obtenemos.
‫Bueno, obtenemos este error de aspecto extraño,
‫y no estoy realmente seguro de qué es.
‫Entonces, echemos un vistazo.
‫Y probablemente hay algo mal aquí con el radio,
‫pero en realidad este es un buen momento para probar nuestro depurador.
‫Así que se lo mostré hace mucho tiempo,
‫pero este es un buen caso de uso para
‫echar un vistazo al depurador nuevamente.
‫Entonces creo que tenemos un script de NPM para
‫eso, se llama depuración.
‫Por lo tanto, necesitamos conocer este proceso y luego decir que NPM ejecuta la depuración.
‫¿Okey?
‫Eso debería abrir esta bonita ventana.
‫Y cerremos todos estos archivos aquí.
‫Bien, entonces estamos en nuestros controladores.
‫Controlador de tour.
‫Y ahora, establezcamos un punto de quiebre aquí.
‫Bien, porque en este punto, tendremos
‫todas nuestras variables definidas, y
‫entonces podemos echar un vistazo a sus valores para ver qué está pasando.
‫Entonces, por supuesto, podríamos haberlo hecho con
‫una consola simple. log, pero en
‫algunas situaciones en las que hay muchas
‫cosas en marcha, y también es bueno usar el depurador.
‫Entonces necesitamos enviar nuestra solicitud.
‫Y ahora estamos en el depurador en nuestro punto de quiebre.
‫Y entonces, en este
‫momento, nuestro código realmente se ha detenido.
‫Y podemos ver aquí que
‫en realidad todas nuestras variables parecen estar definidas.
‫Echemos un vistazo a eso aquí en local.
‫Entonces tenemos una distancia,
‫tenemos la latitud, la longitud y también el radio.
‫Así que sigamos aquí.
‫Así que saltamos directamente
‫a la siguiente línea porque esto si aquí no entró en el bloque if.
‫Y ahora está ejecutando todas estas funciones.
‫Pero salgamos de ellos en
‫realidad, y ahora tenemos recorridos sin definir.
‫Entonces, si ahora continuamos con
‫esto, probablemente obtendremos el mismo error nuevamente, ¿verdad?
‫Y de hecho, lo hacemos.
‫Entonces debe haber algo aquí en
‫esta línea, digamos, y de hecho, creo que encontré el error.
‫Así es como se escribe esfera.
‫Entonces, la esfera es más así, ¿verdad?
‫Así que espero y creo que en realidad este fue el error.
‫Así que cierremos el depurador aquí, y
‫relevemos, y en realidad eso debería actualizar
‫mi código aquí.
‫Veamos, y en realidad no fue así.
‫No estoy seguro de por qué es eso, pero está bien.
‫Ejecutemos esto aquí de nuevo.
‫No este comando, bueno de todos
‫modos, simplemente hagamos el inicio de NPM.
‫Cierra todos estos.
‫Y ahora inténtalo de nuevo.
‫Ah, y ahora obtenemos algunos resultados reales aquí, bueno.
‫Entonces me dice que estos recorridos aquí están en
‫esa distancia de 400 millas que se especifica.
‫Pero, ¿cómo podemos saber realmente que es verdad?
‫Bueno, en realidad podemos usar la brújula para esto.
‫Entonces, si abrimos la brújula aquí, tenemos algo realmente
‫bueno que es este esquema.
‫Así que hagámoslo aquí en los recorridos.
‫Y entonces ahora podemos llegar al esquema aquí y
‫luego analizar este esquema.
‫Así que analice el esquema, y ahora aquí tenemos
‫un buen resumen de todos nuestros campos.
‫Por ejemplo,
‫ve que la dificultad es fácil en
‫el 50% de los documentos, media en el 30% y difícil en el 20%.
‫También ves estas duraciones.
‫Entonces, en el 20% son cinco, y también nueve es más popular
‫que las otras duraciones.
‫Ahora lo que realmente me interesa aquí son las ubicaciones.
‫O en realidad, las ubicaciones de inicio, eso es aquí.
‫Y ahora, normalmente, vería un mapa aquí.
‫Pero en este momento, no hay ningún mapa porque tenemos
‫un documento en este momento que no tiene una ubicación de inicio.
‫Entonces, para que
‫esto funcione correctamente, debemos deshacernos de ese documento.
‫Así que fue uno de estos
‫documentos de prueba que creamos, pero que ahora ya no necesitamos.
‫Déjame ver si aparece aquí.
‫Quizás sea al final.
‫Así que sí, es esta nueva gira de prueba.
‫Deshagámonos de eso.
‫Volviendo a nuestro esquema, analicémoslo de nuevo.
‫Bien, aquí tenemos las aplicaciones estrella.
‫Y aquí ya ves el mapa, así que genial, ¿verdad?
‫Esa es una característica realmente útil.
‫Entonces deberíamos tener nueve puntos aquí.
‫Entonces uno, dos, tres, cuatro, cinco, seis, siete, ocho, uno
‫aquí arriba, el noveno.
‫Así que probablemente este sea para ver la aurora boreal.
‫¿Derecha?
‫Y ahora aquí podemos replicar esa consulta
‫usando esta interfaz gráfica.
‫Así que vayamos a Los Ángeles y aproximadamente al
‫punto en el que estábamos.
‫Entonces, digamos aquí, y me estoy alejando un
‫poco solo para dar
‫más espacio, pero ahora podemos presionar Mayús y luego arrastrar.
‫Así que como dice aquí abajo.
‫Así que ponga la mano donde estaba nuestro punto,
‫básicamente en algún lugar aquí en Los Ángeles.
‫Ahora cambie y luego arrastre, ahora está bien.
‫Y entonces pueden ver que a medida
‫que comenzamos a aumentar esta esfera, nos acercamos más
‫y más a algunos de estos puntos aquí volviéndose amarillos, ¿de acuerdo?
‫Y creí que nuestro radio era algo así como 0. 1, o
‫algo como esto, digamos.
‫Y entonces ven que en realidad son tres documentos,
‫entonces tres recorridos todos dentro de esta esfera que
‫acabamos de crear, ¿de acuerdo?
‫Entonces tenemos esta esfera con el radio de 0. 1, como puede
‫ver aquí.
‫Y así, de hecho, esta consulta se parece
‫a la que acabamos de completar con código en nuestra función de
‫controlador, ¿verdad?
‫Entonces obtenemos estos tres documentos que están marcados como
‫naranja, así que ahora presionemos analizar aquí nuevamente, y
‫ahora nuestra consulta arrojó tres documentos.
‫Así que veamos los nombres en realidad.
‫Entonces, ¿dónde está eso?
‫Para el amante de los deportes, el catador de
‫vinos y el campista del parque.
‫Y los tres recorridos que obtuvimos en
‫Postman, como resultado de API, deberían ser exactamente los mismos tres.
‫Así que el amante de los deportes, el catador de vinos y el campista del parque.
‫Entonces, el campista del parque, el amante de los deportes,
‫y el último
‫en recordar debería ser el catador, y
‫de hecho lo es.
‫Genial, eso es realmente fantástico.
‫Ahora reduzcamos esto aquí a 200, veamos
‫cuántos resultados obtiene entonces, y de
‫hecho es solo uno.
‫Así que volvamos a la brújula aquí.
‫Eliminemos esta consulta aquí.
‫Entonces, si volvemos a todos nuestros documentos,
‫eche un vistazo a nuestro mapa.
‫Y aquí está LA, está bien.
‫Es otro radio que debería ser algo así como 0. 05.
‫Ahora algo como esto, digamos, y
‫de hecho solo tenemos este tour que
‫creo que es el catador de vinos o algo así.
‫Sí, tenemos que analizar esto.
‫Entonces, oh, en realidad es el amante de los deportes.
‫Y veamos si eso es lo que tenemos aquí.
‫Y de hecho lo es.
‫Entonces, es el amante de los deportes, y
‫ese es el único recorrido que se encuentra a menos de 200 millas de Los Ángeles.
‫Fantástico.
‫Así que esto me parece realmente emocionante, realmente genial.
‫Permítanme mostrarles otra cosa muy
‫rápidamente, para que también puedan ver todas nuestras ubicaciones en el mapa.
‫Así que eso es aquí.
‫Y estas son las ubicaciones de todos
‫los recorridos, es decir, las que se almacenan en la ubicación.
‫Entonces tenemos las coordenadas y también los días,
‫las descripciones y la hora, ¿de acuerdo?
‫Y, por supuesto, nuestra consulta no se trata de todo esto aquí.
‫Para esa consulta, realmente solo
‫nos preocupan las ubicaciones de las estrellas, pero aún
‫así quería mostrarles este mapa donde también podemos ver todas las ubicaciones.
‫Bien, entonces realmente existe un gran potencial para
‫usar datos geoespaciales con MongoDB.
‫Las posibilidades son realmente infinitas para realizar
‫consultas geoespaciales como esta.
‫Y de hecho quería
‫mostrarles si tenemos más operadores geoespaciales en MongoDB.
‫Entonces, echemos un vistazo a la documentación aquí nuevamente.
‫Así que bajemos aquí nuevamente
‫a la referencia y los operadores, y los operadores de consulta.
‫Y creo que está en algún lugar aquí abajo, sí.
‫Entonces aquí tenemos al operador geoespacial.
‫Y ves que este es el que usamos,
‫entonces el que selecciona geometrías
‫dentro de una geometría adyacente geo delimitante.
‫Eso suena un poco extraño, pero esta geometría
‫geo adyacente delimitadora es esa esfera que definimos
‫en nuestro código, ¿verdad?
‫Ahora también podríamos haber usado el snear aquí,
‫echemos un vistazo a eso.
‫Y entonces se vería un poco diferente.
‫Entonces, en este caso, habríamos definido el punto usando
‫la longitud y la latitud que obtuvimos, y
‫luego habríamos especificado la distancia
‫máxima aquí en metros.
‫Y luego, en este caso,
‫no necesitamos hacer la conversión a radianes.
‫Bien, lo que también es bueno
‫de este es que podemos especificar una distancia mínima.
‫Y así, con esto, podríamos, por ejemplo,
‫excluir recorridos que están a solo 50 millas de nuestro punto de
‫partida, ¿de acuerdo?
‫Entonces, si algún día necesita
‫algo como esto, siempre puede usar el nuevo operador aquí también.
‫Ok genial.
‫Entonces, con esta consulta geoespacial que acabamos
‫de definir aquí, básicamente encontramos documentos que se encuentran
‫a cierta distancia de nuestro punto de partida.
‫Pero, ¿y si realmente quisiéramos saber las
‫distancias exactas de todos los recorridos hasta ese punto de partida?
‫Bueno, eso es exactamente lo que vamos a calcular
‫en la próxima lección.