IDBKeyRange.only( '字段值' )是等值搜索,这是一个函数啊,亲

jike_909037540 HTML5 indexedDB... 最后由 极客学院_ASMITA 于2015年08月11日回复

  • 1 回答
  • 2.3k 浏览
  • 没搞懂哪些是函数,哪些是方法....


  • 极客学院_ASMITA 2015年08月11日 回答 #1楼
  • 等值搜索,额,我认为学习这个本地数据库首先要掌握的是数据库的概念,数据库基础的就那么几个,插入、查询、更新、删除,也没啥可玩的了,这个就是查询了
    
    HTML5本地数据库的查询,跟其他数据库的select 语句一样,它就是查询条件,相当于 where a="字段值" 这样的等值搜索条件
    
    通俗就是说我要找一条记录,然后我只要这个索引里面内容为“字段值”的数据
    
    所以前面一定是设定了要查询的索引,然后这里设置索引的内容
    
    最后才能给你相应的索引对应的value
    
    例如 索引为 id,有3条记录
    id:1 name:kaka age:33
    id:2 name:lele age:13
    id:3 name:lulu age:23
    
    你查询id为1的记录
    那就是IDBKeyRange.only( '1' )
    
    我把你学的那段代码拿来翻译下
    //前面就不说了,前面是用来设置数据库和表的
    var index=store.index("ageIndex");		//设置索引字段为ageIndex
    var request=index.openCursor(IDBKeyRange.only(11));	//设置索引的查询条件为only,就是等值搜索,即查找ageIndex的值为11
    request.onsuccess=function(e){			//这里相当于判断查询是否成功
    	var cursor=e.target.result;			//成功的话获取结果
    	if(cursor){							//如果有结果的话,你知道的,有时候可能没有结果的
    		var student=vursor.value;		//返回学生的value,就是整条记录了
    		console.log(student.id);		//在console中打印数据
    		cursor.continue();				//这行貌似没什么卵用
    	}
    }
    
    最后总结,HTML5查询,需要明确查询的数据库是什么,表是是么,index索引是什么,然后指定索引的查询方式,这里用的是only,就是等值查询,还有很多其他的方法,查询完毕后通过.onsuccess事件获取结果
  • 0 评论