IDBObjectStore: name property
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.
Thename property of theIDBObjectStoreinterface indicates the name of this object store.
In this article
Value
A string containing the objectstore's name.
Exceptions
There are a several exceptions that can occur when you attempt to change an objectstore's name.
InvalidStateErrorDOMExceptionThrown if either the object store has been deleted or the current transaction is not anupgrade transaction; you can only rename indexes during upgrade transactions; that is,when the mode is
versionchange.TransactionInactiveErrorDOMExceptionThrown if the current transaction is not active.
ConstraintErrorDOMExceptionThrown if an object store is already using the specified
name.
Examples
In the following code snippet, we open a read/write transaction on our database and addsome data to an object store usingadd(). After the object store has beencreated, we logobjectStore.name tothe console. For a full working example, seeourTo-do Notifications app(view example live).
// Let us open our databaseconst 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; // Run the addData() function to add the data to the database addData();};function addData() { // Create a new object ready to insert into the IDB const newItem = [ { taskTitle: "Walk dog", hours: 19, minutes: 30, day: 24, month: "December", year: 2013, notified: "no", }, ]; // open a read/write db transaction, ready for adding 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. Duplicate items not allowed."; }; // create an object store on the transaction const objectStore = transaction.objectStore("toDoList"); console.log(objectStore.name); // Make a request to add our newItem object to the object store const objectStoreRequest = objectStore.add(newItem[0]); objectStoreRequest.onsuccess = (event) => { // report the success of our request note.appendChild(document.createElement("li")).textContent = "Request successful."; };}Specifications
| Specification |
|---|
| Indexed Database API 3.0> # ref-for-dom-idbobjectstore-name①> |
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).