【发布时间】:2012-06-11 00:56:22
【问题描述】:
我一直在寻找一种方法来执行复杂的查询,例如 SQL 可以执行但完全是客户端。我知道我可以从服务器上执行 SQL 查询获得我想要的确切结果,我什至可以 AJAX 让它看起来很流畅。然而,出于可扩展性、性能和带宽的原因,我更愿意在客户端执行此操作。
一些要求:
- 广泛的浏览器兼容性。任何可以运行 jQuery 的东西都可以。我实际上更喜欢它是一个 jQuery 插件。
- 可以对多个列进行排序。例如,按州字母顺序排列,并按字母顺序列出每个州内的所有城市。
- 可以过滤结果。例如,相当于“where state = 'CA' or 'NY' or 'TX'”。
- 必须完全在客户端工作,因此用户只需要下载大量数据一次,就可以根据需要剪切数据,而无需不断从服务器获取数据,实际上可以在初始之后离线执行所有查询拉。
我在 stackoverflow 上四处查看并找到了 jslinq,但它最后一次更新是在 2009 年并且没有文档。我也不知道它是否可以执行更复杂的查询,例如在两个不同的列上排序或执行“and”或“or”过滤。
我认为这样的事情已经完成了。我知道 HTML5 是从这条路开始的,但后来遇到了障碍。我只需要基本查询,不需要连接或任何东西。有谁知道可以做到这一点的东西?谢谢。
编辑:我认为我应该包含一个用例来帮助阐明我在寻找什么。
例如,我有一份美国 5000 个最大城市的列表。每条记录都包括 Cityname、State 和 Population。我希望能够一次下载整个数据集并用它填充一个 JS 数组,然后,仅在客户端,能够运行如下查询并根据结果记录创建一个表。
- 加州十大城市
- 以“S”开头且人口超过 1,000,000 的所有城市。
- 加利福尼亚州、纽约州、佛罗里达州、德克萨斯州和伊利诺伊州的三个最大城市,并按州的字母顺序,然后按人口顺序排列。即加利福尼亚,洛杉矶,3,792,621;加利福尼亚,圣地亚哥,1,307,402;加利福尼亚、圣何塞、945,942...等。
所有这些查询都可以通过 SQL 完成,但我不想一直在服务器上来回切换,我还想允许离线使用。
【问题讨论】:
-
Wide browser compatibility.似乎是半不可能的。
标签: javascript jquery sql