美文网首页
indexDB数据库的索引和游标的使用

indexDB数据库的索引和游标的使用

作者: 小伙子太认真 | 来源:发表于2019-02-27 21:42 被阅读0次

    前面写过一篇:本地存储和数据库的文章,没基础的先看一下这里。不然你看着会懵。

    还是回到我出文章的思路来

    关于索引和游标,我会问

    1、索引的API有哪些?

    2、索引应该怎么使用?有哪些好处?

    3、游标的API有哪些?

    4、游标怎么使用?有哪些用途?

    5、两位可以一起使用吗?

    第一个问题:索引的API有哪些?

    IDBObjectStore.createIndex() --------创建索引

    该方法接收三个参数:

    indexName ----索引名称

    keyPath ---- 索引字段,可以为空或者数组

    optionsParameters ---- 索引配置参数

    关于optionsParameters的配置参数有:

    1、unique表示keyPath字段的数据是否是唯一的

    2、multiEntry表示是否为keyPath字段的每一项建立一条索引数据。(有点懵没关系,下面会有演示)

    第二个问题:索引应该怎么使用?有哪些好处?

    IDBObjectStore对象是调用createObjectStore方法之后返回得到的。有了这个对象之后就可以使用创建索引的方法。 如果看得不懂,就得看一下我的上一篇了。

    使用创建索引的好处在于:

    1、可以使用存储记录中的值作为索引(不用创建多余的数据,提高效率)

    2、索引会自动更新

    3、索引数据自动排序

    第三个问题:游标的API有哪些?

    第四个问题:怎么使用

    IDBObjectStore/IDBIndex.openCursor() -----创建游标

    该方法返回一个IDBRequest对象,这个对象的结果返回IDBCursorWithValue对象。

    可选参数有两个,

    第一个是range----顾名思义是取值范围的意思。

    一般值的写法是:IDBKeyRange.bound(key1,key2)

    IDBKeyRange.only(key)

    第二个direction----数据排列方向的意思

    direction的话取值有四个,两个比较常用的prev和next

    演示一下

    这个bound参数为null就是全部取值的意思了。prev表示倒序输出数据,看一下下面的效果图。 上面这个传进去一个参数range和direction。表示正序和取值大于等于1小于等于2的意思

    第五个问题:游标和索引的结合使用

    1、更新数据

    这是一个异步操作,所以先打印出来002 ---female。再打印出来002---male,下面一张图可以看出数据已经更新了

    2、删除对应字段的数据

    点个赞呗

                                                                                                                     如有侵权,联系作者删

    相关文章

      网友评论

          本文标题:indexDB数据库的索引和游标的使用

          本文链接:https://www.haomeiwen.com/subject/xvvfuqtx.html