Digamos que nuestros datos JSON provienen de una sola tabla MySQL:
someJSON = [ { name: 'bill' , sex:'M', income:50000 }, { name: 'sara' , sex:'F', income:100000 }, ... ];Y digamos que el pseudocódigo es:
"Obtener todos los objetos persona de todo sex:F de income > 60000`".
¿Existen bibliotecas de javascript que permitan codificar tales consultas en estos datos JSON utilizando una sintaxis similar a SQL o SQL?
Por si tienes curiosidad, algo de contexto:
Estoy creando el front-end de un servicio web de análisis de datos para mi organización sin saber cuál será el futuro backend. En el futuro, migrarán sus datos de las tablas de MS Access a algún tipo de base de datos de tipo MySQL. Hasta entonces, estoy usando archivos JSON estáticos para comenzar el desarrollo y pensé que podría ser útil para ellos en el futuro que mis consultas de JavaScript aparezcan como consultas de MySQL. (No se puede acceder a la base de datos actual de MS Access desde la web).
Echa un vistazo a jslinq :
var myList = [ {FirstName:"Chris",LastName:"Pearson"}, {FirstName:"Kate",LastName:"Johnson"}, {FirstName:"Josh",LastName:"Sutherland"}, {FirstName:"John",LastName:"Ronald"}, {FirstName:"Steve",LastName:"Pinkerton"} ]; var exampleArray = JSLINQ(myList) .Where(function(item){ return item.FirstName == "Chris"; }) .OrderBy(function(item) { return item.FirstName; }) .Select(function(item){ return item.FirstName; });Puedes probar alasql.js . Es un servidor SQL del lado del cliente de JavaScript puro, donde puede realizar consultas sobre objetos JSON.
// Fill table with data var data = [ { name: 'bill' , sex:'M', income:50000 }, { name: 'sara' , sex:'F', income:100000 }]; // Do the query console.log(alasql("SELECT * FROM ? WHERE sex='F' AND income > 60000",[data]));Prueba esto en Fiddle
Yo uso Taffydb. TaffyDB es una biblioteca de fuente abierta que trae funciones de base de datos a sus aplicaciones de JavaScript. http://taffydb.com/