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 2015年7月.
deleteObjectStore() は IDBDatabase インターフェイスのメソッドで、対象のオブジェクトストアを参照するすべてのインデックスとともに、接続しているデータベースにある指定の名前のオブジェクトストアを削除します。
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");
}
// version < 3, 4... について同様に
};
仕様書
| Specification |
|---|
| Indexed Database API 3.0> # ref-for-dom-idbdatabase-deleteobjectstore①> |
ブラウザーの互換性
Loading…
関連情報
- IndexedDB の使用
- トランザクションの開始:
IDBDatabase - トランザクションの使用:
IDBTransaction - キーの範囲の設定:
IDBKeyRange - データの取得と変更:
IDBObjectStore - カーソルの使用:
IDBCursor - リファレンス例: To-do Notifications (動く例を見る)