-
Notifications
You must be signed in to change notification settings - Fork 8k
/
index.md
79 lines (56 loc) · 2.65 KB
/
index.md
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
---
title: "IDBDatabase: deleteObjectStore() メソッド"
short-title: deleteObjectStore()
slug: Web/API/IDBDatabase/deleteObjectStore
l10n:
sourceCommit: 595cba0e07c70eda7f08a12890e00ea0281933d3
---
{{ APIRef("IndexedDB") }}
**`deleteObjectStore()`** は {{domxref("IDBDatabase")}} インターフェイスのメソッドで、対象のオブジェクトストアを参照するすべてのインデックスとともに、接続しているデータベースにある指定の名前のオブジェクトストアを削除します。
{{ domxref("IDBDatabase.createObjectStore") }} と同様に、このメソッドは [`versionchange`](/ja/docs/Web/API/IDBTransaction#version_change) トランザクション内で _のみ_ 呼び出すことができます。
{{AvailableInWorkers}}
## 構文
```js-nolint
deleteObjectStore(name)
```
### 引数
- `name`
- : 削除するオブジェクトストアの名前です。名前は大文字と小文字を区別します。
### 返値
なし ({{jsxref("undefined")}})。
### 例外
- `InvalidStateError` {{domxref("DOMException")}}
- : このメソッドが `versionchange` トランザクションのコールバックとして呼び出されなかった場合に発生します。
- `TransactionInactiveError` {{domxref("DOMException")}}
- : 存在しないソースデータベースに対してリクエストが行われた場合に発生します(例えば、データベースが削除された場合など)。
- `NotFoundError` {{domxref("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... について同様に
};
```
## 仕様書
{{Specifications}}
## ブラウザーの互換性
{{Compat}}
## 関連情報
- [IndexedDB の使用](/ja/docs/Web/API/IndexedDB_API/Using_IndexedDB)
- トランザクションの開始: {{domxref("IDBDatabase")}}
- トランザクションの使用: {{domxref("IDBTransaction")}}
- キーの範囲の設定: {{domxref("IDBKeyRange")}}
- データの取得と変更: {{domxref("IDBObjectStore")}}
- カーソルの使用: {{domxref("IDBCursor")}}
- リファレンス例: [To-do Notifications](https://github.com/mdn/dom-examples/tree/main/to-do-notifications) ([動く例を見る](https://mdn.github.io/dom-examples/to-do-notifications/))