Cómo utilizar las plantillas de consulta para abstraer consultas nativas
En este post se explica cómo utilizar la funcionalidad de Gestión de Plantillas de Consulta que simplifica las consultas complejas, por ejemplo, las consultas en las que hay datos anidados. Con esta funcionalidad, cuando el usuario realiza la consulta SQL que ha creado, la plataforma trabaja internamente con una consulta nativa.
Para ello, es necesario usar un perfil con rol administrador e ir al menú Administración > Gestión de Plantillas de Consulta.
Una vez en la pantalla de Gestión de Plantillas de Consulta, pulsa "Crear":
Rellena los campos de nombre y descripción, y selecciona la ontología sobre la que deseas realizar la consulta.
En las secciones "Selector" y "Template", se muestra un ejemplo de cómo generar la plantilla de consulta. Para este ejemplo, vamos a utilizar la ontología "Restaurants".
Primero, en la sección "Selector", tienes que crear una consulta SQL con los datos que quieres consultar. En este caso, buscamos los restaurantes situados entre dos coordenadas (latitud y longitud):
select * from Restaurants where lat > @x and lon < @y
En este caso, por ejemplo, te daría todos los restaurantes que estén a la vez al norte de la latitud @x, y al oeste de la longitud @y.
Puedes asignar cualquier nombre a las variables, pero sus valores deben identificarse siempre precedidos de una @.
Para poder usar esta consulta SQL que se ha creado, tienes que poner la consulta nativa correspondiente en la sección "Template":
var lat = @x
var lon = @y
var query = 'db.Restaurants.find({"Restaurant.address.coord.0": {"$gt": '+lat+'}, "Restaurant.address.coord.1": {"$lt":'+lon+'}})';
return query;
De esta forma, cuando quieras hacer una consulta con estos valores, desde la herramienta de consulta (Herramientas > Herramienta Consultas), copia la consulta SQL generada y añade los valores que quieras.




