IDBCursor: primaryKey Eigenschaft

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2021.

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

Die schreibgeschützte primaryKey-Eigenschaft des IDBCursor-Interfaces gibt den aktuellen effektiven Schlüssel des Cursors zurück. Wenn der Cursor derzeit iteriert wird oder außerhalb seines Bereichs iteriert hat, wird dieser auf undefiniert gesetzt. Der Primärschlüssel des Cursors kann jeden Datentyp haben.

Wert

Ein Wert eines beliebigen Datentyps.

Ausnahmen

InvalidStateError DOMException

Wird ausgelöst, wenn der Cursor voranschreitet oder abgeschlossen ist.

Beispiele

In diesem einfachen Fragment erstellen wir eine Transaktion, rufen einen Objektspeicher ab und verwenden dann einen Cursor, um durch alle Datensätze im Objektspeicher zu iterieren. In jeder Iteration protokollieren wir den Primärschlüssel des Cursors in der Konsole.

Der Cursor erfordert nicht, dass wir die Daten basierend auf einem Schlüssel auswählen; wir können einfach alle Daten erfassen. Beachten Sie auch, dass Sie in jeder Iteration der Schleife Daten aus dem aktuellen Datensatz unter dem Cursor-Objekt mit cursor.value.foo abrufen können. Für ein vollständig funktionierendes Beispiel siehe unser IDBCursor Beispiel (Beispiel live ansehen).

js
function displayData() {
  const transaction = db.transaction(["rushAlbumList"], "readonly");
  const objectStore = transaction.objectStore("rushAlbumList");

  objectStore.openCursor().onsuccess = (event) => {
    const cursor = event.target.result;
    if (cursor) {
      const listItem = document.createElement("li");
      listItem.textContent = `${cursor.value.albumTitle}, ${cursor.value.year}`;
      list.appendChild(listItem);

      console.log(cursor.primaryKey);
      cursor.continue();
    } else {
      console.log("Entries all displayed.");
    }
  };
}

Spezifikationen

Specification
Indexed Database API 3.0
# ref-for-dom-idbcursor-primarykey①

Browser-Kompatibilität

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
primaryKey

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

Siehe auch