浏览器 IndexedDB 简明教程 ( 五 ) - 数据库版本升级机制 章节中我们有提到有一种简单粗暴的升级数据库版本的方法就是: 如果需要升级,那么新直接删除,然后再新建一个最新的版本,最后再构建主键、索引和存储对象
结果我翻了好几圈 API 文档,愣是没发现删除数据库的方法,好气人,就跑去冲奶茶喝了,喝着喝着突然间想到了,会不会就在 window.indexedDB
对象那里
立马回去电脑上一看,果然在。我原来一直以为这个操作是在数据库对象上呢
window.indexedDB.deleteDatabase()
如果要删除一个 IndexedDB 数据库,可以使用 window.indexedDB.deleteDatabase(dbname)
方法,该方法只有一个参数,就是数据库名称 dbname
,函数原型如下
window.indexedDB.deleteDatabase(dbname)
需要说明的是,该方法是同步执行的
范例
例如要删除我们刚刚创建的数据库 demo
,可以使用下面的代码
window.indexedDB.deleteDatabase('demo');
IDBFactory 对象
看到了这个删除数据库的方法,我就回去翻了一边之前的文档,竟然发现没有介绍 window.indexedDB
这个对象的原型
于是果断执行下下面的代码
console.log(window.indexedDB);
展开输出结果如下
也就是说 window.indexedDB
对象的原型是 IDBFactory
,而 IDBFactory
只有三个方法,第一个是 open()
用于打开或创建一个数据库,一个是 deleteDatabase()
用于删除数据库,最后一个方法是 cmp()
用于比较两个值的大小
一个 window.indexedDB
提供一个 cmp()
方法有什么用呢?
费解...
目前尚无回复