IDBDatabase: deleteObjectStore() メソッド
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2021.
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");
}
// version < 3, 4... について同様に
};
仕様書
Specification |
---|
Indexed Database API 3.0 # ref-for-dom-idbdatabase-deleteobjectstore① |
ブラウザーの互換性
BCD tables only load in the browser
関連情報
- IndexedDB の使用
- トランザクションの開始:
IDBDatabase
- トランザクションの使用:
IDBTransaction
- キーの範囲の設定:
IDBKeyRange
- データの取得と変更:
IDBObjectStore
- カーソルの使用:
IDBCursor
- リファレンス例: To-do Notifications (動く例を見る)