IndexedDB
var indexedDB = window.indexedDB || window.msIndexedDB || window.mozIndexedDB || window.webkitIndexedDB;
打开数据库
window.indexedDB.open的第二个参数即为版本号。在不指定的情况下,默认版本号为1。具体示例如下:
const request = window.indexedDB.open(‘test’, 2);
在需要更新数据库的schema(模式)时,需要更新版本号。此时我们指定一个高于之前版本的版本号,就会触发onupgradeneeded事件。类似的,当此数据库不存在时,也会触发此事件并且将版本更新到置顶版本。
对象存储空间
db.createObjectStore(“user”,{keyPath:’'username})
通过success获取对象存储空间后可以通过add和put添加数据
事务
var transaction = db.transaction()获取事务
可以传两个参数,第一个参数是存储空间的名字,第二个参数为访问模式
获取事务后使用objectStore()方法并传入存储空间的名称,就可以访问特定的存储空间
var store = transaction .objectStore(“user”)
使用游标查询
var request = store.openCursor();
在success中获取IDBCursor的实例,它有以下几个属性
direction:数值,表示游标的方向
key:对象的键
value:实际的对象
primaryKey:游标使用的键
方法
continue(key),不传key游标移动到下一项,传key会移动到指定键的位置
advance(count),向前移动count指定项数
update:更新值
delete:删除值
键范围
IDBKeyRange
创建索引
createIndex(“username”,“username”,{unique:false})
var index = store.index(“username”)获取指定索引
index.openCursor()
index.get()获取指定索引
store.deleteIndex()删除指定索引
限制
IndexedDB数据库只能由同源页面操作
共同学习,写下你的评论
评论加载中...
作者其他优质文章