IDBDatabase: deleteObjectStore() 方法

Baseline 已廣泛支援

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2015 年 7 月⁩以來,各瀏覽器均已提供此特性。

注意:此功能在 Web Workers 中可用。

IDBDatabase 介面的 deleteObjectStore() 方法會銷燬連線資料庫中指定名稱的物件儲存以及引用它的所有索引。

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①

瀏覽器相容性

另見