1. Web
  2. Web APIs
  3. IDBObjectStore
  4. keyPath

IDBObjectStore: keyPath 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 in Web Workers.

The keyPath read-only property of the IDBObjectStore interface returns the key path of this object store.

If this property is null, the application must provide a key for each modification operation.

Value

Any value type.

Examples

In the following code snippet, we open a read/write transaction on our database and add some data to an object store using add(). After the object store has been created, we log objectStore.keyPath to the console. For a full working example, see our To-do Notifications app (view example live).

js
// 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;
 // 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.keyPath);
 // 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-keypath1

Browser compatibility

See also

Help improve MDN

Learn how to contribute

This page was last modified on by MDN contributors.

AltStyle によって変換されたページ (->オリジナル) /