javascript – 如何在客户端浏览器中执行类似SQL的查询?

我一直在寻找一种方法来执行复杂的查询,如sql可以执行,但完全是客户端.我知道我可以从服务器上执行SQL查询得到我想要的确切结果,甚至可以使用 AJAX,使其看起来顺利.然而,对于可扩展性,性能和带宽原因,我更愿意在所有客户端执行此操作.

一些要求:

>宽浏览器兼容性.任何可以运行jQuery的都可以.我实际上更喜欢它是一个jQuery插件.
>可以对多个列进行排序.例如,按国家按字母顺序排列,并在每个州内按字母顺序列出所有城市.
>可以过滤结果.例如,相当于“where state =’CA’或’NY’或’TX’”.
>必须完全的客户端工作,所以用户只需要下载大量数据一次,并且可以在不经常从服务器获取数据的情况下切割所需的数据,实际上可以在初始化之后离线执行所有查询.

我已经查看了stackoverflow,并发现了jslinq,但最后更新于2009年,没有文档.我也不能确定它是否可以执行更复杂的查询,例如在两个不同的列上排序或执行“和”或“或”过滤.

我会认为这样的事情已经完成了.我知道HTML5已经开始了这条路,但是打了路障.我只需要基本的查询,没有连接或任何东西.有人知道可以做到这一点吗?谢谢.

编辑:我想我应该添加一个用例来帮助澄清我正在寻找什么.

例如,我列出了美国5000个最大的城市.每个记录包括城市名,州和人口.我想能够下载整个数据集一次,然后填充一个JS数组,然后只在客户端,能够运行如下所示的查询,并从生成的记录中创建一个表.

>加州十大城市
>以人均1,000,000以上的“S”开始的所有城市.
>加利福尼亚州,纽约州,佛罗里达州,德克萨斯州和伊利诺伊州最大的三个城市,按国家然后按人口按字母顺序排列.即加州,洛杉矶,3,792,621; California,San Diego,1,307,402;加利福尼亚州,圣何塞,945,942 …等.

所有这些查询将是微不足道的通过sql,但我不想继续前进到服务器,我也想允许离线使用.

解决方法

看看 http://linqjs.codeplex.com/

它很容易满足您的所有要求.

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...