IDBObjectStore: clear() メソッド
        
        
          
                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月.
IDBObjectStore インターフェイスの clear() メソッドは、IDBRequest を生成してすぐに返します。そして、別スレッドでオブジェクトストアをクリアします。これは、オブジェクトストア内のデータをすべて削除する操作です。
オブジェクトストアのクリアは、オブジェクトストアからレコードをすべて削除し、このオブジェクトストアを参照するインデックスの全レコードを削除する操作です。オブジェクトストア内の一部のレコードのみを削除するには、IDBObjectStore.delete にキーまたは IDBKeyRange を渡してください。
メモ: この機能はウェブワーカー内で利用可能です。
構文
clear()
引数
なし
返値
この操作に関係する今後のイベントが発火する IDBRequest オブジェクトです。
操作に成功した場合は、この要求の result プロパティの値は undefined になります。
例外
ReadOnlyErrorDOMException- 
この操作に対応するトランザクションが読み取り専用モードのとき投げられます。
 TransactionInactiveErrorDOMException- 
この
IDBObjectStoreのトランザクションが実行中でないとき投げられます。 
例
以下のコード断片では、データベースの読み書きトランザクションを開き、clear() を用いてオブジェクトストア内の全データを消去します。動く例全体は、To-do Notifications アプリケーションを参照してください。(動く例を見る)
// データベースを開く
const DBOpenRequest = window.indexedDB.open("toDoList", 4);
DBOpenRequest.onsuccess = (event) => {
  note.innerHTML += "<li>データベースを初期化しました。</li>";
  // データベースを開いた結果を変数 db に格納する
  // これは後でよく使う
  db = DBOpenRequest.result;
  // オブジェクトストアから全データを消去する
  clearData();
};
function clearData() {
  // 読み書きトランザクションを開き、データを消去する準備をする
  const transaction = db.transaction(["toDoList"], "readwrite");
  // すべて完了したとき、トランザクションの正常終了を報告する
  transaction.oncomplete = (event) => {
    note.innerHTML += "<li>トランザクションが完了しました。</li>";
  };
  transaction.onerror = (event) => {
    note.innerHTML += `<li>トランザクションはエラーのため開けませんでした: ${transaction.error}</li>`;
  };
  // トランザクションでオブジェクトストアを生成する
  const objectStore = transaction.objectStore("toDoList");
  // オブジェクトストアから全データを消去する要求をする
  const objectStoreRequest = objectStore.clear();
  objectStoreRequest.onsuccess = (event) => {
    // 要求の成功を報告する
    note.innerHTML += "<li>要求に成功しました。</li>";
  };
}
仕様書
| Specification | 
|---|
| Indexed Database API 3.0> # ref-for-dom-idbobjectstore-clear③>  | 
            
ブラウザーの互換性
Loading…
関連情報
- IndexedDB の使用
 - トランザクションの開始: 
IDBDatabase - トランザクションの使用: 
IDBTransaction - キー範囲の設定: 
IDBKeyRange - データの取得と変更: 
IDBObjectStore - カーソルの使用: 
IDBCursor - リファレンス例: To-do Notifications (動く例を見る)