IDBDatabase: deleteObjectStore() method
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Note: This feature is available inWeb Workers.
ThedeleteObjectStore() method of theIDBDatabase interface destroys the object store with the given name inthe connected database, along with any indexes that reference it.
As withIDBDatabase.createObjectStore, this method can be calledonly within aversionchangetransaction.
In this article
Syntax
deleteObjectStore(name)Parameters
nameThe name of the object store you want to delete. Names arecase sensitive.
Return value
None (undefined).
Exceptions
InvalidStateErrorDOMExceptionThrown if the method was not called from a
versionchangetransaction callback.TransactionInactiveErrorDOMExceptionThrown if a request is made on a source database that doesn't exist (E.g. has been deleted or removed.)
NotFoundErrorDOMExceptionThrown when trying to delete an object store that does not exist.
Examples
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"); } // etc. for version < 3, 4…};Specifications
| Specification |
|---|
| Indexed Database API 3.0> # ref-for-dom-idbdatabase-deleteobjectstore①> |
Browser compatibility
See also
- Using IndexedDB
- Starting transactions:
IDBDatabase - Using transactions:
IDBTransaction - Setting a range of keys:
IDBKeyRange - Retrieving and making changes to your data:
IDBObjectStore - Using cursors:
IDBCursor - Reference example:To-do Notifications (View the example live).