离线存储-indexeddb复合查询问题

问题描述

indexeddb复合查询问题

问题描述:

indexeddb用index筛选条件,我在index上添加了两个字段,如下代码:

var userStore =  db.createObjectStore("users",{keyPath:"id",autoIncrement: true});
 userStore.createIndex("index_name", ["name","age"], { unique: false });
userStore.put({name: "a",age:0});
userStore.put({name: "be",age:2});
userStore.put({name: "b",age:5});
userStore.put({name: "c",age:3});
userStore.put({name: "d",age:7});
userStore.put({name: "e",age:6});
userStore.put({name: "dfgf",age:9});

我根据name和age做为条件查询,如下代码:

 var store = localDatabase.db.transaction("users","readonly").objectStore("users");
var lowerBound = [name,1];
var upperBound = [name+"uffff",5];
var range = IDBKeyRange.bound(lowerBound,upperBound);
var request = store.index("index_name").openCursor(range);
request.onsuccess = function(event) {
        var cursor = event.target.result;
        if (cursor) {
            var users = cursor.value;
            showData(users.id, users.name);
                cursor.continue();
        }
};

最终效果:

age大于5的数据不应该显示出来,age的条件没有用到,求解

时间: 2024-10-25 19:37:23

离线存储-indexeddb复合查询问题的相关文章

localForage帮你实现Web离线存储

Web 应用程序有离线功能,如保存大量数据集和二进制文件.你甚至可以做缓存 MP3 文件这样的事情.浏览器技术可以保存离线数据和大量的储存.但问题是,如何选择合适技术,如何方便灵活的实现. 如果你需要开发一个支持离线存储的 Web 应用程序,不知道从哪里开始,那么这篇文章正是你需要的. localStorage 能够让你实现基本的数据存储,但它的速度慢,而且不能处理二进制数据.IndexedDB 和 WebSQL 是异步的,速度快,支持大数据集,但他们的API 使用起来有点复杂.不仅如此,Ind

让 JavaScript 拯救 HTML5 的离线存储

在 Internet 连接无处不在的今天,我们忽然有了另外一个需求,离线 Web.Gmail, Google Reader, Zoho 这些优秀的 Web 应用都支持离线使用,这归功于 Google Gears.然而真正的离线 Web 要靠 HTML 5,这个未来的 Web 语言明星将为  Web 的离线存储制定一套标准,W3C已经发布 HTML5 离线存储细则.   有人可能会说,离线 Web 毫无意义,你得到的只是一个蹩脚的桌面程序,在 wi-fi, 3G 无处不在的今天,我们大部分时间都是

Html5 Web的5中离线存储方式之localStorage

Html5 Web的5中离线存储方式之localStorage 在HTML5越来越流行的今天,如果你还不知道离线存储,那就说明你落后了很多. HTML5的离线存储方式有多种:Web SQL Database.LocalStorage.Cookie.WebStorage.IndexedDB.FileSystem. Web SQL Database目前虽然还有浏览器支持,是唯一的关系数据库结构的存储,但W3C以及停止对其的维护和发展.我就不多说了. 今天我们主要看LocalStorage这种最简单的

悠哉悠哉,一个复合查询方法

几乎每个完整的应用程序都会需要一个复合查询.建立一个功能强大的复合查询首先必须要能够动态生成查询条件,其次应该能够对查询到的数据进行修改,最后这个复合查询最好能够对一对多的两个表建立条件进行查询. 在VFP里建立查询的方法主要有这么几种:一是使用VFP中自带的SearchClass类:二是建立一个查询:三是建立一个视图,其中包括参数化视图.宏替换Sql语句视图:四是建立一个Grid,将其数据源设置为SQL语句或临时表. 不管哪一种方法,其实质都是使用SQL语句. 这几种方法各有各的优点,也都有缺

一个复合查询方法

几乎每个完整的应用程序都会需要一个复合查询.建立一个功能强大的复合查询首先必须要能够动态 生成查询条件,其次应该能够对查询到的数据进行修改,最后这个复合查询最好能够对一对多的两个表建 立条件进行查询. 在VFP里建立查询的方法主要有这么几种:一是使用VFP中自带的SearchClass类:二是建立一个查询: 三是建立一个视图,其中包括参数化视图.宏替换Sql语句视图:四是建立一个Grid,将其数据源设置为 SQL语句或临时表. 不管哪一种方法,其实质都是使用SQL语句. 这几种方法各有各的优点,

HTML5离线存储 初探

本文主要内容归纳如下: 一.离线存储的作用:二.如何实现离线存储:三.applicationCache对象,及属性.事件.接口 四.访问缓存应用,相应触发事件,及其对应状态:五.如何更新离线缓存 六.demo演示:update后是否调用swapCache的区别:七.写在后面   一.离线存储的作用 1.用户可离线访问你的应用,这对于无法随时保持联网状态的移动终端用户来说尤其重要 2.用户访问本地的缓存文件,通常意味着更快的访问速度 3.仅仅加载被修改过的资源,避免同一资源对服务器多次的请求,大大

link环境下多类型外键复合查询的实现是怎样的?能否举例?

问题描述 link环境下多类型外键复合查询的实现是怎样的?能否举例? link环境下多类型外键复合查询的实现是怎样的?能否举例? 解决方案 http://www.iteye.com/problems/73405

link环境下,codefirst多类型外键关联复合查询的实现是怎样的?

问题描述 link环境下,codefirst多类型外键关联复合查询的实现是怎样的? link环境下,codefirst多类型外键关联复合查询的实现是怎样的? 解决方案 http://blog.csdn.net/gentle_wolf/article/details/14004345

iComet聊天Demo增加好友列表和离线存储

最新版的 icomet 长连接/push 服务器的聊天 Demo 升级了, 做了如下更新: 美化界面, 更好看了. 增加好友列表, 能显示全部好友和最近联系人. 离线存储消息. 界面截图: Web界面 Android界面 文章转载自 开源中国社区[http://www.oschina.net]