IDBObjectStore: Methode getAllKeys()
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.
Die getAllKeys()
-Methode des IDBObjectStore
-Interfaces gibt ein IDBRequest
-Objekt zurück, das Datensatzschlüssel für alle Objekte im Objektspeicher abruft, die dem angegebenen Parameter entsprechen, oder für alle Objekte im Speicher, wenn keine Parameter angegeben sind.
Wenn ein Wert erfolgreich gefunden wird, wird ein strukturierter Klon davon erstellt und als Ergebnis des Anfrageobjekts festgelegt.
Diese Methode erzeugt dasselbe Ergebnis für:
- einen Datensatz, der nicht in der Datenbank existiert
- einen Datensatz, der einen undefinierten Wert hat
Um diese Situationen zu unterscheiden, müssen Sie die openCursor()
-Methode mit dem gleichen Schlüssel aufrufen. Diese Methode stellt einen Cursor bereit, wenn der Datensatz existiert, und keinen Cursor, wenn er nicht existiert.
Syntax
getAllKeys()
getAllKeys(query)
getAllKeys(query, count)
Parameter
query
Optional-
Ein Wert, der eine
IDBKeyRange
ist oder zu einer solchen aufgelöst wird. count
Optional-
Gibt an, wie viele Werte zurückgegeben werden sollen, wenn mehr als einer gefunden wird. Sollte er kleiner als
0
oder größer als2^32 - 1
sein, wird eineTypeError
-Ausnahme ausgelöst.
Rückgabewert
Ein IDBRequest
-Objekt, an dem nachfolgende Ereignisse im Zusammenhang mit diesem Vorgang ausgelöst werden.
Wenn der Vorgang erfolgreich ist, ist der Wert der result
-Eigenschaft der Anfrage ein Array
der Schlüssel für alle Datensätze, die der angegebenen Anfrage entsprechen, bis zum Wert von count
, falls count
angegeben wurde.
Ausnahmen
Diese Methode kann eine DOMException
eines der folgenden Typen auslösen:
TransactionInactiveError
DOMException
-
Wird ausgelöst, wenn die Transaktion dieses
IDBObjectStore
inaktiv ist. DataError
DOMException
-
Wird ausgelöst, wenn der bereitgestellte Schlüssel oder der bereitgestellte Schlüsselbereich einen ungültigen Schlüssel enthält oder null ist.
InvalidStateError
DOMException
-
Wird ausgelöst, wenn das
IDBObjectStore
gelöscht oder entfernt wurde.
Spezifikationen
Specification |
---|
Indexed Database API 3.0 # ref-for-dom-idbobjectstore-getallkeys① |
Browser-Kompatibilität
BCD tables only load in the browser
Siehe auch
- Verwendung von IndexedDB
- Transaktionen starten:
IDBDatabase
- Verwendung von Transaktionen:
IDBTransaction
- Festlegung eines Schlüsselbereichs:
IDBKeyRange
- Abrufen und Ändern Ihrer Daten:
IDBObjectStore
- Einsatz von Cursors:
IDBCursor
- Referenzbeispiel: To-do-Benachrichtigungen (Beispiel live ansehen).