Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

IDBObjectStore: keyPath Eigenschaft

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨Juli 2015⁩.

Hinweis: Diese Funktion ist in Web Workers verfügbar.

Die keyPath schreibgeschützte Eigenschaft des IDBObjectStore-Interfaces gibt den Schlüsselpfad dieses Objekt-Speichers zurück.

Wenn diese Eigenschaft null ist, muss die Anwendung einen Schlüssel für jede Änderungsoperation bereitstellen.

Wert

Jeder Werttyp.

Beispiele

Im folgenden Code-Snippet öffnen wir eine Lese-/Schreibtransaktion in unserer Datenbank und fügen mit add() einige Daten zu einem Objekt-Speicher hinzu. Nachdem der Objekt-Speicher erstellt wurde, geben wir objectStore.keyPath in der Konsole aus. Für ein vollständiges, funktionierendes Beispiel siehe unsere To-do Notifications App (Beispiel live ansehen).

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."; }; } 

Spezifikationen

Specification
Indexed Database API 3.0
# ref-for-dom-idbobjectstore-keypath①

Browser-Kompatibilität

Siehe auch