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 的浏览器中加载。

另请参阅