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. javascript - vue2.0中使用vue2-dropzone的demo,vue2-dropzone的github网址是什么??百度不到。2. vue计算属性怎么样与for结合使用3. wordpress - nginx 反代 Varnish 走 Https ,WP后台 ‘您没有足够的权限访问该页面。’4. 安全性测试 - nodejs中如何防mySQL注入5. html - 图片的左上角显示 【推荐】、【热销】标签的效果,使用Css 如何实现呢?6. angular.js - angularjs 路由切换时给 html 做 id 标示7. node.js - webpack-dev-server正常运行,webpack打包却出错,怎么办?8. python - pip install出现下面图中的报错 什么原因?9. mysql取模分表与分表10. angular.js - vue/react 渲染内容抖动
