IDBDatabase: deleteObjectStore() 方法
注意:此功能在 Web Workers 中可用。
IDBDatabase 接口的 deleteObjectStore() 方法会销毁连接数据库中指定名称的对象存储以及引用它的所有索引。
与 IDBDatabase.createObjectStore 一样,此方法只能在 versionchange 事务中调用。
语法
js
deleteObjectStore(name)
参数
name-
要删除的对象存储的名称。名称区分大小写。
返回值
无(undefined)。
异常
InvalidStateErrorDOMException-
如果在
versionchange事务回调之外调用该方法,则会抛出此异常。 TransactionInactiveErrorDOMException-
如果对不存在的源数据库(例如,已被删除或移除)发出请求,则会抛出此异常。
NotFoundErrorDOMException-
尝试删除不存在的对象存储时抛出。
示例
js
const dbName = "sampleDB";
const dbVersion = 2;
const request = indexedDB.open(dbName, dbVersion);
request.onupgradeneeded = (event) => {
const db = request.result;
if (event.oldVersion < 1) {
db.createObjectStore("store1");
}
if (event.oldVersion < 2) {
db.deleteObjectStore("store1");
db.createObjectStore("store2");
}
// etc. for version < 3, 4…
};
规范
| 规范 |
|---|
| Indexed Database API 3.0 # ref-for-dom-idbdatabase-deleteobjectstore① |
浏览器兼容性
加载中…
另见
- 使用 IndexedDB
- 开始事务:
IDBDatabase - 使用事务:
IDBTransaction - 设置键的范围:
IDBKeyRange - 检索和修改数据:
IDBObjectStore - 使用游标:
IDBCursor - 参考示例:待办事项通知(查看实时示例)。