Baseline Widely available
Note: This feature is available in Web Workers.
The clear()
method of the IDBObjectStore
interface creates and immediately returns an IDBRequest
object, and clears this object store in a separate thread. This is for deleting all the current data out of an object store.
Clearing an object store consists of removing all records from the object store and removing all records in indexes that reference the object store. To remove only some of the records in a store, use IDBObjectStore.delete
passing a key or IDBKeyRange
.
None.
Return valueAn IDBRequest
object on which subsequent events related to this operation are fired.
If the operation is successful, the value of the request's result
property is undefined
.
InvalidStateError
DOMException
Thrown if the object store has been deleted.
ReadOnlyError
DOMException
Thrown if the transaction associated with this operation is in read-only mode.
TransactionInactiveError
DOMException
Thrown if this IDBObjectStore
's transaction is inactive.
In the following code snippet, we open a read/write transaction on our database and clear all the current data out of the object store using clear()
. For a full working example, see our To-do Notifications app (view example live).
// Let us open our database
const DBOpenRequest = window.indexedDB.open("toDoList", 4);
DBOpenRequest.onsuccess = (event) => {
note.appendChild(document.createElement("li")).textContent =
"Database initialized.";
// store the result of opening the database in the db variable.
// This is used a lot below
db = DBOpenRequest.result;
// Clear all the data from the object store
clearData();
};
function clearData() {
// open a read/write db transaction, ready for clearing the data
const transaction = db.transaction(["toDoList"], "readwrite");
// report on the success of the transaction completing, when everything is done
transaction.oncomplete = (event) => {
note.appendChild(document.createElement("li")).textContent =
"Transaction completed.";
};
transaction.onerror = (event) => {
note.appendChild(document.createElement("li")).textContent =
`Transaction not opened due to error: ${transaction.error}`;
};
// create an object store on the transaction
const objectStore = transaction.objectStore("toDoList");
// Make a request to clear all the data out of the object store
const objectStoreRequest = objectStore.clear();
objectStoreRequest.onsuccess = (event) => {
// report the success of our request
note.appendChild(document.createElement("li")).textContent =
"Request successful.";
};
}
Specifications Browser compatibility See also
IDBDatabase
IDBTransaction
IDBKeyRange
IDBObjectStore
IDBCursor
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.3