Get to know MDN better
Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Juli 2015 browserübergreifend verfügbar.
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Die getKey()-Methode der IDBIndex-Schnittstelle gibt ein IDBRequest-Objekt zurück und findet in einem separaten Thread entweder den Primärschlüssel, der dem gegebenen Schlüssel in diesem Index entspricht, oder den ersten entsprechenden Primärschlüssel, wenn key auf einen IDBKeyRange gesetzt ist.
Wenn ein Primärschlüssel gefunden wird, wird er als result des Anfrageobjekts festgelegt. Beachten Sie, dass dies nicht den gesamten Datensatz zurückgibt, wie es IDBIndex.get tut.
Ein Schlüssel oder IDBKeyRange, der einen abzurufenden Datensatz identifiziert. Wenn dieser Wert null oder nicht vorhanden ist, verwendet der Browser einen ungebundenen Schlüsselbereich.
Ein IDBRequest-Objekt, auf dem nachfolgende Ereignisse, die sich auf diese Operation beziehen, ausgelöst werden.
Wenn die Operation erfolgreich ist, ist der Wert der result-Eigenschaft der Anfrage der Schlüssel für den ersten Datensatz, der dem gegebenen Schlüssel oder Schlüsselbereich entspricht.
Diese Methode kann eine DOMException der folgenden Typen auslösen:
TransactionInactiveError DOMExceptionWird ausgelöst, wenn die Transaktion dieses IDBIndex inaktiv ist.
DataError DOMExceptionWird ausgelöst, wenn der angegebene Schlüssel oder Schlüsselbereich einen ungültigen Schlüssel enthält.
InvalidStateError DOMExceptionWird ausgelöst, wenn der IDBIndex gelöscht oder entfernt wurde.
Im folgenden Beispiel öffnen wir eine Transaktion und ein Objekt-Store, dann erhalten wir den Index lName aus einer einfachen Kontaktdatenbank. Wir öffnen dann einen grundlegenden Cursor auf dem Index mit IDBIndex.openCursor — dies funktioniert genauso wie das Öffnen eines Cursors direkt auf einem ObjectStore mit IDBObjectStore.openCursor, außer dass die zurückgegebenen Datensätze basierend auf dem Index und nicht dem Primärschlüssel sortiert sind.
myIndex.getKey('Bungle') wird dann verwendet, um den Primärschlüssel des Datensatzes mit einem lName von Bungle abzurufen, und das Ergebnis dieser Anfrage wird in die Konsole geloggt, wenn der Erfolgs-Callback zurückkehrt.
Schließlich durchlaufen wir jeden Datensatz und fügen die Daten in eine HTML-Tabelle ein. Für ein komplettes funktionierendes Beispiel siehe unser IndexedDB-examples Demo Repository (Beispiel live ansehen).
| Indexed Database API 3.0 # ref-for-dom-idbindex-getkey① |
JavaScript aktivieren, um diese Browser-Kompatibilitätstabelle anzuzeigen.
Der Bauplan für ein besseres Internet.
Besuche die gemeinnützige Muttergesellschaft der Mozilla Corporation, die Mozilla Foundation.
Teile dieses Inhalts sind ©1998–2026 von einzelnen mozilla.org-Mitwirkenden. Inhalte sind verfügbar unter einer Creative-Commons-Lizenz.