javascript - 求助一个关于indexedDB的问题
问题描述
如下图,我存储的一条数据,主键是timeStamp,我所知道的是能通过get主键值来找到这条数据,但是无法通过查询里面的其它值来检索数据吗?类似sql语句的查询条件无法做到吗?(全部查出来再遍历结果排除就算了)
db.createObjectStore(’book’, { keyPath: 'timeStamp'});store.get(1496251171844)

有人说用索引,但是索引也无法根据值来查询啊,还是需要我判断一遍啊,我想要的是直接store.get(group),就能获取改对象存储下的指定的group
var book = db.createObjectStore(’book’, {keyPath: 'timeStamp' }); // 建立索引book.createIndex('groupId','groupId', {unique:false});--------------------------------------------------------html5.indexedDB.getFromId = function(groud, callback){ var db = html5rocks.indexedDB.db; var tx = db.transaction([’book’],’readwrite’); var store = tx.objectStore(’book’); var index = store.index('groupId'); request = index.openCursor(); request.onsuccess = function(event){var result = event.target.result;if(!result){return;}if(result.value.groupId == groud){ callback(result.value);}result.continue(); };};
问题解答
回答1:createIndex可以添加多个索引,并设置是否索引值是否唯一
回答2:indexedDB 类似于 nosql , 只能靠关键字索引了, 没有办法按 sql 来查询。获取到集合以后,可以用 js 的方法,来查找。
相关文章:
1. python - 有一个函数名(字符串形式),如何能够调用这个函数?2. update方法不能更新字段值为0的数据3. 请教一条mysql的sql语句写法;4. 这段代码既不提示错误也看不到结果,请老师明示错在哪里,谢谢!5. layer.alert(’请输入用户名’,{icon:2})无法弹出窗口,是哪个包没引进来?6. mysql这个int型的4字节是什么意思??7. phpstuty 修改完监听端口,apache无法启动8. mysql - myisAm为什不支持行锁?9. mysql函数unix_timestamp如何处理1970.1.1以前的数据?10. phpstady在win10上运行

网公网安备