IDBObjectStore: indexNames 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.
TheindexNames read-only property of theIDBObjectStore interface returns a list of the names ofindexes on objectsin this object store.
In this article
Value
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.indexNames to the console. For a full working example, seeourTo-do Notifications app(view example live).
js
// 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 = this.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.indexNames); // 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-indexnames①> |
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).