IDBDatabase: deleteObjectStore() 方法
注意:此功能在 Web Workers 中可用。
deleteObjectStore()
方法是 IDBDatabase
接口的方法,用于销毁连接的数据库中具有给定名称的对象存储,以及所有引用它的索引。
与 IDBDatabase.createObjectStore
一样,此方法只能在 versionchange
事务中调用。
语法
js
deleteObjectStore(name)
参数
name
-
要删除的对象存储的名称。名称区分大小写。
返回值
无 (undefined
).
异常
InvalidStateError
DOMException
-
如果未从
versionchange
事务回调中调用此方法,则会抛出此异常。 TransactionInactiveError
DOMException
-
如果对不存在的源数据库(例如,已删除或移除)进行请求,则会抛出此异常。
NotFoundError
DOMException
-
尝试删除不存在的对象存储时会抛出此异常。
示例
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① |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。
另请参阅
- 使用 IndexedDB
- 启动事务:
IDBDatabase
- 使用事务:
IDBTransaction
- 设置键范围:
IDBKeyRange
- 检索和修改数据:
IDBObjectStore
- 使用游标:
IDBCursor
- 参考示例:待办事项通知 (查看示例).